有沒有將結果從Pig直接導出到像mysql這樣的數據庫的方法?一種將結果從Pig導出到數據庫的方法
11
A
回答
7
在記住orangeoctopus所說的內容(提防DDOS ...)的時候,你看看DBStorage?
data = LOAD '...' AS (...);
...
STORE data INTO DBStorage('com.mysql.jdbc.Driver', 'dbc:mysql://host/db', 'INSERT ...');
4
我看到的主要問題是每個reducer實際上都會在同一時間插入到數據庫中。
如果您不認爲這會是一個問題,我建議您編寫custom Storage method,它使用JDBC(或類似的東西)直接插入到數據庫中,並且不向HDFS寫任何內容。
如果您害怕在您自己的數據庫上執行DDOS攻擊,可能收集HDFS上的數據並對MySQL執行單獨的批量加載會更好。
2
我目前正在試驗一個嵌入式豬應用程序,它通過PigServer.OpenIterator和JDBC連接將結果加載到mysql中。它在測試中工作得很好,但我還沒有嘗試過。這與已經建議的自定義存儲方法類似,但是從單點開始運行,所以不會發生意外的DDOS攻擊。如果不從數據庫服務器運行負載(我個人更喜歡除了數據庫本身之外什麼都不運行),那麼實際上最終會支付兩次網絡傳輸成本(羣集 - >分段計算機,分段計算機 - >數據庫服務器)服務器),但這與「寫出文件並批量加載」選項沒有區別。
1
2
Sqoop可能是要走的好方法,但它是很難建立(恕我直言)作爲所有這些的Hadoop相關的項目...
豬的DBStorage是工作正常(至少用於存儲)。
不要忘記註冊的PiggyBank和你的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. 將數值從一種方法返回到另一種方法
- 3. 將Apex從一個數據庫導出/導入到另一個數據庫
- 4. 將整個Neo4j數據庫/密碼結果導出到GraphJSON
- 5. 從查詢導出的數據結果
- 6. 從舊的數據庫結構導出到新的數據庫結構
- 7. 哪種方法可以將數據從一個Informix 10數據庫存檔到另一個數據庫?
- 8. 我想找出一種方法來簡化從訪問數據庫導入數據到.Net應用程序
- 9. 將數據從一個MySQL數據庫導入到另一個數據庫的最有效方法
- 10. 從數據庫導出數據到HTML?
- 11. 將整個數組從一種方法傳遞到另一種
- 12. 將參數從一種方法傳遞到另一種
- 13. 團結MVC3 - 配置使用數據庫的第一種方法
- 14. 從一種方法返回數組到另一種方法
- 15. 如何從另一種方法添加結果數組
- 16. 從一臺機器導入/導出數據庫到另一臺
- 17. 如何將數據從Hadoop導出到MySQL /任何數據庫?
- 18. 使用ClosedXML將數據從excel導出到數據庫表
- 19. Wordpress使用$ wpdb將數據從數據庫導出到csv
- 20. 將數據從BigQuery導出到本地PostgreSQL/MySql數據庫
- 21. 如何將數據從SQL數據庫導出到MS Excel中
- 22. 如何將數據從csv文件導出到mysql數據庫?
- 23. CodeIgniter:將數據從數據庫導出到Excel中並下載
- 24. 將數據從一個數據庫導出到標準DB廠商的策略
- 25. 將結果輸出到數據框中
- 26. 如何將nunit結果導入到數據庫
- 27. 將ASPNETDB數據導出到另一個數據庫
- 28. 一種將數組及其鍵值保存到數據庫的有效方法
- 29. 將Elasticsearch數據結果導出到CSV文件中
- 30. Microsoft SQL Server:如何從數據庫導出數據並將它們導入到另一個數據庫?
好像有沒有辦法解決編寫使用JDBC一個UDF。 。謝謝! – Christoph 2011-01-11 09:52:26