使用OSS三角洲,希望這是正確的論壇這個問題:
嘿,我可以使用一些幫助,我覺得我做錯了什麼。
我從卡夫卡流- >δEMR / S3FS,我看到密切緩慢的批次。看著這個階段時,它看起來像閱讀最後delta-snapshot文件正在15秒以上的隻有30 mb的文件,它把我分批次20 +第二個範圍。
它還不斷寫作的結果,洗牌階段。所有這些工作似乎隻能被1執行者,我覺得很有趣。這是一個已知的三角洲,限製或有一些配置我可以調整來減少影響或並行化閱讀日誌文件?或者有什麼明顯我失蹤嗎?
讓我知道我可以提供更多的信息。我相對較新的三角洲所以我希望我隻是缺少一些顯而易見的。火花配置如下:
' ' '
SparkConf () .setAppName \(名字)
這裏(“spark.scheduler.mode”、“公平”)\
這裏(“spark.executor。芯”,exec_cores) \
這裏(“spark.dynamicAllocation。啟用”、“真實”)\
這裏(“spark.sql.files。\ maxPartitionBytes ', ' 1073741824 ')
這裏(' spark.dynamicAllocation.minExecutors ', ' 3 ') \
這裏(“spark.driver。maxResultSize ', 0) \
這裏(“spark.executor。\ heartbeatInterval ', ' 25000 ')
這裏(“spark.databricks.delta.vacuum.parallelDelete.enabled”,“真正的”)\
這裏(“spark.databricks.delta.retentionDurationCheck.enabled”、“假”)\
這裏(' spark.databricks.delta.checkpoint.partSize ', ' 1000000 ') \
這裏(' spark.databricks.delta.snapshotPartitions ', ' 150 ')
' ' '
通過鬆弛用戶組找到了答案,亞當Binford的禮貌。
我已經設置的三角洲。logRetentionDuration = ' 24小時' '但沒有設置delta.deletedFileRetentionDuration’,所以檢查點文件仍有所有表存在以來積累的墓碑。
因為我是運行一個壓縮機每15分鍾,表本身(因此檢查點文件)不包含太多的文件,但是因為所有的墓碑microbatch流仍然存在,它允許檢查點文件氣球的大小。一旦它設置為一個較低的區間,批處理時間減少從20 +秒下降到5。
通過鬆弛用戶組找到了答案,亞當Binford的禮貌。
我已經設置的三角洲。logRetentionDuration = ' 24小時' '但沒有設置delta.deletedFileRetentionDuration’,所以檢查點文件仍有所有表存在以來積累的墓碑。
因為我是運行一個壓縮機每15分鍾,表本身(因此檢查點文件)不包含太多的文件,但是因為所有的墓碑microbatch流仍然存在,它允許檢查點文件氣球的大小。一旦它設置為一個較低的區間,批處理時間減少從20 +秒下降到5。