2017-10-04 64 views
0

我想要分析ML的目的,我在csv中有大量值大約50GB的數據。然而,要適應Python,這是一個很大的方法。我最好希望使用mySQL,因爲查詢更容易。任何人都可以提供一些技巧供我研究。這一點可以從任何東西:存儲和查詢大量數據

  1. 如何將其存儲在首位,我知道我可能無法一次全部加載它,我會做反覆?如果是的話,我可以爲此考慮些什麼?另外我聽說過索引,這是否真的會加快對如此龐大數據集的查詢?

  2. 是否有更好的技術來處理這些數據,並且仍然能夠快速查詢和執行特徵工程。我最終提供給我的算法應該可以在Python中完成,但是我需要查詢並做一些特徵工程,然後才能獲得可供分析的數據集。

我真的很感激任何意見,這一切都需要在個人電腦上完成!謝謝!!

+0

使用Talend Open Studio - 非常適合這種類型的任務imo –

+0

什麼是「ML」?例如,任何數據庫都可以在zillion-row表中彙總一列。但是如果「分析」過於複雜,那麼這是不可行的。 –

回答

0

任何人都可以提供提示的主機,我尋找到

欣然!

  • 查看CSV文件的第一行,看看是否有標題。您需要創建一個具有相同字段(和數據類型)的表格
  • 其中一個字段可能看起來每行都是唯一的,可以使用以後的查找該行。這是你的候選人PRIMARY KEY。否則,添加一個AUTO-INCREMENT字段作爲PRIMARY KEY
  • INDEX es用於以後搜索數據。無論你覺得你將在後面搜索/過濾哪些領域應該有某種INDEX。你可以隨時添加它們。如果他們經常一起搜索
  • 爲了在數據讀取
  • 指標可以結合多個字段,你有2種方式:
    1. 使用LOAD DATA INFILELoad Data Infile Documentation
  • 編寫您自己的腳本:最好的方法是爲 INSERT命令創建一個prepared statement。然後逐行讀取您的CSV行(循環),拆分等領域 到變量和execute準備好的語句與這條線的 值
  • 你會從網頁設計來搜索數據中獲益。取決於誰需要使用它。

希望這給你一些想法

0

這取決於你有什麼,你可以使用Apache的火花,然後用自己的SQL功能,火花SQL給你寫SQL查詢您的數據集中的可能性,但爲獲得最佳性能,您需要分佈式模式(您可以在本地機器中使用它,但結果有限)和較高的機器性能。你可以使用python,scala,java來編寫你的代碼。