取消
顯示的結果
而不是尋找
你的意思是:

要加載一個高容量的CSV行最快的方式(超過50億行)。我想最好的方法,在速度方麵,加載到銅表中。

Michael42
新的貢獻者三世

我隻能提供來源CSV格式(管分隔)。

我有能力生成多個來源CSV文件,並將其轉換到一個上傳文件夾。

所有行必須去同一個目標青銅三角洲表。

我不關心的順序行加載。

青銅目標表列都是字符串。

我試圖找出如果:

是上傳多個csv文件,加載一個流讀者/流作家聲明中最快的方法來加載這些數據?換句話說是多個輸入文件中引入並行過程的路嗎?如果是一個csv文件,它是單線程的,這是正確的嗎?

B:有一些最優數量的文件和/或文件大小,源數據應該被分解成以達到攝入速度。例如時工人的節點數量,或多個,文件我希望負載的數量嗎?和大小有關係,或者僅僅是輸入文件的數量匹配的多個工作節點計數嗎?

C:還有什麼我應該做,提高加載時間。

2接受解決方案

接受的解決方案

daniel_sahal
尊敬的貢獻者三世

@Michael Popp來說

在我看來,最好的方法是把一些分區文件(你需要找到最合適的列),攝取他們使用自動裝卸機和觸發= AvailableNow(批處理)和寫入分區的分區文件。

它將允許實現——並行性和避免數據傾斜。

在原帖子查看解決方案

匿名
不適用

@Michael Popp來說:

加載大量的CSV最快的方式到一個增量表中的行磚,你可以遵循這些方法和優化:

答:上傳和加載多個CSV文件:

  1. 是的,上傳多個CSV文件,加載一個流讀者/流作家語句可以引入並行過程。通過利用多個文件,您可以利用並行性的磚更快地加載數據。
  2. 如果你有一個CSV文件中,它將使用單個線程加載,可以緩慢相比,並行處理多個文件。

b .最優數量的文件和文件大小:

  1. 可以確定最優數量的文件根據工人的數量在磚集群節點可用。為了實現並行性,你可以有一個文件數量等於或職工的多個節點。
  2. 此外,文件大小也是重要的。建議合理大小的文件,可以有效地處理。非常大的文件可能會導致內存和性能問題,所以你可能想要把數據分割成更小的文件。
  3. 實驗用不同文件大小和數量的文件可以幫助您確定最優配置特定的用例。你可以試著調整文件的文件大小和數量之間找到最佳平衡並行性和高效的處理。

c .其他優化改善加載時間:

  1. 利用集群伸縮:使集群伸縮自動添加或刪除職工節點根據工作負載。這有助於處理數據攝入和加速過程中增加負載。
  2. 分區和用桶裝:如果可能的話,請考慮分區和用桶裝三角洲的數據表。分區可以提高查詢性能,用桶裝可以進一步提高數據檢索的效率。
  3. 使用適當的壓縮:選擇合適的數據壓縮算法,以減少存儲和提高I / O性能。時髦的或gzip壓縮是常用的。
  4. 優化的列數:如果你的目標表有很多列,隻考慮選擇在加載過程中所需的列。這可以減少數據規模和提高加載性能。
  5. 優化集群設置:調整基於工作負載集群配置。增加核的數量、內存和洗牌分區優化性能數據攝入。
  6. 監控和優化寫性能:保持一個檢查你三角洲的寫性能表,並相應地調整批量大小和其他參數。

通過考慮這些方法和優化,可以大大改善你的大容量加載時間CSV數據攝取到三角洲表數據磚。

在原帖子查看解決方案

4回複4

daniel_sahal
尊敬的貢獻者三世

@Michael Popp來說

在我看來,最好的方法是把一些分區文件(你需要找到最合適的列),攝取他們使用自動裝卸機和觸發= AvailableNow(批處理)和寫入分區的分區文件。

它將允許實現——並行性和避免數據傾斜。

Shivanshu_Tiwar
新的貢獻者三世

用這個選項嚐試加載CSV文件:maxRowsInMemory ? ?

匿名
不適用

@Michael Popp來說:

加載大量的CSV最快的方式到一個增量表中的行磚,你可以遵循這些方法和優化:

答:上傳和加載多個CSV文件:

  1. 是的,上傳多個CSV文件,加載一個流讀者/流作家語句可以引入並行過程。通過利用多個文件,您可以利用並行性的磚更快地加載數據。
  2. 如果你有一個CSV文件中,它將使用單個線程加載,可以緩慢相比,並行處理多個文件。

b .最優數量的文件和文件大小:

  1. 可以確定最優數量的文件根據工人的數量在磚集群節點可用。為了實現並行性,你可以有一個文件數量等於或職工的多個節點。
  2. 此外,文件大小也是重要的。建議合理大小的文件,可以有效地處理。非常大的文件可能會導致內存和性能問題,所以你可能想要把數據分割成更小的文件。
  3. 實驗用不同文件大小和數量的文件可以幫助您確定最優配置特定的用例。你可以試著調整文件的文件大小和數量之間找到最佳平衡並行性和高效的處理。

c .其他優化改善加載時間:

  1. 利用集群伸縮:使集群伸縮自動添加或刪除職工節點根據工作負載。這有助於處理數據攝入和加速過程中增加負載。
  2. 分區和用桶裝:如果可能的話,請考慮分區和用桶裝三角洲的數據表。分區可以提高查詢性能,用桶裝可以進一步提高數據檢索的效率。
  3. 使用適當的壓縮:選擇合適的數據壓縮算法,以減少存儲和提高I / O性能。時髦的或gzip壓縮是常用的。
  4. 優化的列數:如果你的目標表有很多列,隻考慮選擇在加載過程中所需的列。這可以減少數據規模和提高加載性能。
  5. 優化集群設置:調整基於工作負載集群配置。增加核的數量、內存和洗牌分區優化性能數據攝入。
  6. 監控和優化寫性能:保持一個檢查你三角洲的寫性能表,並相應地調整批量大小和其他參數。

通過考慮這些方法和優化,可以大大改善你的大容量加載時間CSV數據攝取到三角洲表數據磚。

Vidula_Khanna
主持人
主持人

嗨@Michael Popp來說

謝謝你發布你的問題在我們的社區!我們很高興幫助你。

幫助我們為您提供最準確的信息,請您花一些時間來回顧反應和選擇一個最好的回答了你的問題嗎?

這也將有助於其他社區成員可能也有類似的問題在未來。謝謝你的參與,讓我們知道如果你需要任何進一步的援助!

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map