Pigの結果をmysqlのようなデータベースに直接エクスポートする方法はありますか?Pigの結果をデータベースにエクスポートする方法
11
A
答えて
7
オレンジオクトパスが言ったことを念頭に置いて(DDOSに注意してください...)、あなたはDBStorageを見ましたか?
data = LOAD '...' AS (...);
...
STORE data INTO DBStorage('com.mysql.jdbc.Driver', 'dbc:mysql://host/db', 'INSERT ...');
4
私が見る主な問題は、各レデューサーが効果的に同じ時間にデータベースに挿入されることです。
これが問題になると思わない場合は、データベースに直接挿入してHDFSに何も書き込まないように、JDBCなどを使用するcustom Storage methodを書くことをおすすめします。
自分のデータベースでDDoS攻撃を実行することを恐れている場合は、おそらくHDFSでデータを収集し、mysqlに別のバルクロードを実行する方が良いでしょう。
2
私は現在、PigServer.OpenIteratorとJDBC接続経由で結果をmysqlにロードする組み込みpigアプリケーションを試しています。テストではうまくいきましたが、まだ試したことがありません。これは既に提案されているカスタムストレージメソッドと似ていますが、一点から実行されるため、偶発的なDDOS攻撃は発生しません。あなたは実際にDBサーバーから負荷を実行しないと、ネットワーク転送コストを2倍(クラスタ - >ステージングマシン、ステージングマシン - > DBサーバー)に支払うことになります(私は個人的にDBサーバー)、それは "ファイルを書き出して一括読み込み"オプションと同じです。
1
2
を使用してみてください(少なくとも保存するために)うまく動作します。
は貯金とMySQLのドライバを登録することを忘れないでください:ここで
-- Register Piggy bank
REGISTER /opt/cmr/pig/pig-0.10.0/lib/piggybank.jar;
-- Register MySQL driver
REGISTER /opt/cmr/mysql/drivers/mysql-connector-java-5.1.15-bin.jar
は、サンプル呼び出しです:
-- Store a relation into a SQL table
STORE relation INTO 'unused' USING org.apache.pig.piggybank.storage.DBStorage('com.mysql.jdbc.Driver', 'jdbc:mysql://<mysqlserver>/<database>', '<login>', '<password>', 'REPLACE INTO <table> (<column1>, <column2>) VALUES (?, ?)');
関連する問題
- 1. ローカルディレクトリにフィディラーをエクスポートして結果をエクスポートする方法
- 2. apache pig、結果をtxtファイルに保存
- 3. セレンのwebdriver phpunitテスト結果をファイルexcelにエクスポートする方法
- 4. PigからPandasにCSV/TSVファイルをロード/エクスポートする方法は?
- 5. Robomongo - 集計結果をCSVファイルにエクスポートする方法
- 6. のPython:DXFファイルへのエクスポート格好の良い結果をエクスポートする方法
- 7. surveymonkeyの結果をエクスポートする最も簡単な方法
- 8. クエリ結果のエクスポート
- 9. $結果をCSVにエクスポート
- 10. ユニットテスト結果/スタックトレースをResharperからエクスポートする方法
- 11. クエリ結果をExcelシートにエクスポートする
- 12. junitテストの実行結果をデータベースに記録する方法
- 13. 集計結果を別のデータベースに保存する方法[Mongodb]
- 14. junitのテスト結果をデータベースに挿入する方法
- 15. Salesforceのクエリ結果をMySqlデータベースに保存する方法
- 16. Powershellの結果を別のページの1つのExcelシートにエクスポートする方法
- 17. ハドソンでテストデータの結果をエクスポートする
- 18. Pythonモデルの結果をエクスポートする
- 19. junitの結果をエクスポートするMavenプラグイン
- 20. TukeyHSDの結果をエクスポートする
- 21. JasperReportsのクエリ結果をエクスポートする
- 22. ES6関数の結果をエクスポートする
- 23. Scrapyの結果を特殊なJSON形式にエクスポートする方法は?
- 24. htmlテーブルをクエリ結果からPHPのdocxにエクスポートする方法
- 25. Webリクエストの結果としてリスト<t>をExcelにエクスポートする方法
- 26. getmethodメソッドで領域データベースの結果を取得する方法
- 27. データベースのテーブルセルと出力結果を確認する方法は?
- 28. SQLiteデータベースの結果をダンプする方法
- 29. 選択クエリ結果のエクスポート
- 30. ExcelのSQL結果をExcelにエクスポート
JDBCを使用してUDFを書くの周り方法はありませんように思えます。お気の毒! – Christoph