簡體   English   中英

如何提高Apache Drill的寫入性能

[英]How can I improve the write performance of Apache Drill

我正在使用CTAS語句從Apache Drill中的csv創建一個鑲木地板文件。 我嘗試過更改各種配置參數的多個實驗,甚至嘗試寫入tmpfs。

我的測試總是花費相同的時間。 我不是IO界限。 我可能是CPU綁定的,大多數情況下,一個java線程始終處於100%。

實驗嘗試:

store.parquet.compression=none
store.parquet.page-size=8192
planner.slice_target=10000
store.parquet.block-size=104857600
store.text.estimated_row_size_bytes=4k

我已經得出結論,也許Drill是單線程的寫作,任何人都可以證實這一點嗎?

使用12核服務器,我有足夠的空間可供使用。

是否可以在單個服務器上運行多個鑽取鑽頭?

更新:無論CTAS輸出格式是csv還是鑲木地板,看起來性能都是相同的,因此一般來說,Drill寫入數據的能力似乎有限。

更新2:使用csv文件作為輸入切換到沒有標題的CTAS語句,使用以下形式的語句:

CREATE TABLE(col1,col2,col3,...)AS SELECT列[0],列[1],列[2]來自filename ;

使用帶有標題的CSV文件,即將語句更改為:

CREATE TABLE(name1,name2,name3,...)AS SELECT name1,name2,name3 from filename ;

其中name1,name2等在標題行中定義了性能上的顯着差異,從執行整個過程的一致13分鍾到9分鍾。

您無法在單個服務器上運行多個drillibits。

是的,在我的觀察中,當我們計算大量數據並且我認為它使用單線程用於鑲木地板文件時,鑽頭使用大量的過程功率CPU使用率達到300-400%。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM