ReplaceTextプロセッサ経由でPutHiveQLに複数のinsert文を入力しようとしています。各insert文は、ReplaceTextから出力されるフローファイルです。 PutHiveQLのバッチを100に設定しました。しかし、一度に1つのフローファイルを送信しているようです。このバッチを最適に実装するには?PutHiveQLはどのようにバッチで動作しますか?
0
A
答えて
2
PutHiveQLプロセッサは、PutSQLのようなプロセッサではなく、期待どおりにJDBCレイヤでステートメントをバッチ処理するとは思いません。 From the codeでは、Batch Sizeプロパティを使用して、降伏前にプロセッサが動作するフローファイルの数を制御するように見えますが、各フローファイルのステートメントは個別に実行されます。
これはNiFi feature requestのための良いトピックかもしれません。
0
NiFiでサポートされているHiveのバージョンでは、バッチ処理/トランザクションはできません。 Batch Sizeパラメータは、プロセッサが頻繁に呼び出されるよりも、複数の着信フローファイルを少し速く移動しようとするためのものです。したがって、Put HiveQLプロセッサをバッチサイズ100で5秒ごとにスケジューリングし、5秒ごとに(100個のフローファイルがキューに入れられている場合)、プロセッサは1つの「セッション」中にそれらを処理しようとします。
また、バッチサイズを0または1に指定し、好きなだけ速くスケジュールすることもできます。残念ながら、これは各HiveQLステートメントを自動コミットするので、事のハイブ側には何の影響も与えません。 Hiveのバージョンはトランザクションやバッチ処理をサポートしていません。
別の(おそらくよりパフォーマンス)の代替がHDFSにCSVファイルとして行のセット全体を入れて、データの上にテーブルを作成するHiveQL「LOADデータ」DMLステートメントを使用することです:https://cwiki.apache.org/confluence/display/Hive/GettingStarted#GettingStarted-DMLOperations
関連する問題
- 1. Meteorはどのように動作しますか?クライアントとサーバーはどのように動作しますか?
- 2. はどのようにバッチ
- 3. Python、どのようにクラスを作成するバッチですか?
- 4. Makefileでは、VPATHはどのように動作しますか?
- 5. 「コール」はどのようにjavascriptで動作しますか?
- 6. NutchはHadoopクラスタでどのように動作しますか?
- 7. JBehaveはJavaでどのように動作しますか?
- 8. jQuery Mobileはjsfiddle.netでどのように動作しますか?
- 9. Meteorアプリケーションはどのようにオフラインで動作しますか?
- 10. メソッドはどのようにPythonで動作しますか?
- 11. cin.peek()はC++でどのように動作しますか?
- 12. タプルでtypedefはどのように動作しますか?
- 13. どのようにループはSchemeで動作しますか?
- 14. NPMはどのようにウィンドウで動作しますか?
- 15. WP7でDataContractJsonSerializerはどのように動作しますか?
- 16. ImmutableJSはAngular 2でどのように動作しますか?
- 17. アセンブラで 'label'はどのように動作しますか?
- 18. pcntl_forkはどのようにPHPで動作しますか?
- 19. インライン化はどのようにLLVMで動作しますか?
- 20. BugzillaはローカルPCでどのように動作しますか?
- 21. インデックススコープはどのようにMysqlで動作しますか?
- 22. pygameでsuper()._ init_はどのように動作しますか?
- 23. AnacronはどのようにLinuxで動作しますか?
- 24. アップキャスティングはどのようにJavaで動作しますか?
- 25. DllプラグインはどのようにWebpack2で動作しますか?
- 26. MySQLでmemcacheはどのように動作しますか?
- 27. ベクトルマップ()は、アクションスクリプト3でどのように動作しますか?
- 28. AjaxはどのようにJSFで動作しますか?
- 29. link_toはどのようにレールで動作しますか?
- 30. タイマーはどのように.netで動作しますか?