1
想象一下,您正在從CSV文件讀取數以百萬計的數據行。每行顯示傳感器名稱,當前傳感器值和觀察到該值時的時間戳。如何將傳感器數據存儲到Apache Hadoop HDFS,Hive,HBase或其他
key, value, timestamp
temp_x, 8°C, 10:52am
temp_x, 25°C, 11:02am
temp_x, 30°C, 11:12am
這涉及到這樣一個信號:
所以我不知道什麼是對存儲到Apache的Hadoop的HDFS的最佳和最有效的方式。第一個想法是使用BigTable又名HBase。這裏的信號名稱是行鍵,而值是一個隨時間保存值的列組。可以添加更多的列組(例如統計數據)到該行鍵。
另一個想法是使用片狀(或SQL等)的結構。但是,然後你複製每一行中的密鑰。你必須根據需求計算統計數據並將它們分開存儲(這裏放在第二個表格中)。
我不知道是否有任何更好的主意。一旦存儲,我想在Python/PySpark中讀取這些數據,並進行數據分析和機器學習。因此,應該使用模式(Spark RDD)輕鬆訪問數據。
謝謝。這也是我們目前的做法。 – Matthias
您是否嘗試保存Avro格式以查看性能差異? –
是的,我們在其他項目中嘗試過,感覺Parquet在性能方面表現更好。 – Matthias