我想通過ReplaceText處理器向PutHiveQL輸入多個插入語句。每個插入語句都是從ReplaceText出來的一個流文件。我將PutHiveQL中的批次設置爲100.但是,它似乎仍然一次發送1個流文件。如何最好地實施這批?PutHiveQL如何在批處理上工作?
0
A
回答
2
我不認爲PutHiveQL處理器按照您的期望在JDBC層上批語句,而不像PutSQL這樣的處理器。 From the code,看起來批量大小屬性用於控制處理器在產生之前處理的流文件數量,但每個流文件的語句仍然單獨執行。
對於NiFi feature request這可能是一個好主題。
0
由NiFi支持的Hive版本不允許進行配料/交易。批處理大小參數旨在嘗試將多個傳入流文件移動得比處理器每隔一段時間調用一次更快。因此,如果您每隔5秒調度一次PutHiveQL處理器,其批處理大小爲100,那麼每5秒(如果有100個流文件排隊),處理器將嘗試在一個「會話」期間處理這些處理。
或者,您可以指定0或1的批量大小,並按照您的喜好快速安排它;不幸的是,這對Hive方面沒有任何影響,因爲它會自動提交每個HiveQL語句; Hive的版本不支持事務或批處理。
另一個(可能更好的性能),另一種方法是把整個一套行作爲一個CSV文件導入HDFS和使用HiveQL「LOAD DATA」 DML語句對數據的頂部創建一個表:https://cwiki.apache.org/confluence/display/Hive/GettingStarted#GettingStarted-DMLOperations
相關問題
- 1. 在CQL批處理工作
- 2. BizTalk批處理服務如何工作?
- 3. 如果存在批處理不工作
- 4. echo命令如何在批處理編程中工作
- 5. 你如何讓這個批處理文件在Vista中工作?
- 6. 原子批處理在Cassandra中如何工作?
- 7. 批處理如何在Microsoft同步框架中工作
- 8. 我如何批量處理多位齒輪工工作?
- 9. 如何處理!在批量
- 10. Spring批處理步驟作用域如何工作
- 11. 批處理文件不能在其他計算機上工作
- 12. 在批處理腳本上做nohup或disown工作嗎?
- 13. 如何在ListView中啓用批處理上下文操作?
- 14. 如何在weblogic服務器上配置批處理作業
- 15. ImageMagick批處理文件停止工作
- 16. 批處理功能:遞增不工作
- 17. 批處理文件'if'「goto」「不工作
- 18. 批處理腳本不工作?
- 19. 工作者角色與Azure批處理
- 20. 批處理腳本不工作
- 21. 批處理for/f代碼工作
- 22. AWS Lambda/Aws批處理工作流程
- 23. 批處理文件不工作
- 24. 批處理exe編譯不工作
- 25. 如何關閉批處理作業
- 26. NHibernate如何實現批處理操作?
- 27. 在Spring批處理中查詢批處理作業元數據
- 28. 如何處理windows批處理變量?
- 29. 批處理上下文操作模式
- 30. 什麼是spark.streaming.receiver.maxRate?它如何與批處理間隔工作