我正在學習豬作業,並希望通過使用PigServer的Java代碼在遠程集羣上運行豬腳本。任何人都可以指導我如何實現這一目標?提前致謝。遠程運行豬作業
Q
遠程運行豬作業
0
A
回答
1
您必須使用PigServer
類連接到您的羣集,註冊您的豬查詢並獲得結果。您可以選擇通過在磁盤上傳遞文件名來運行腳本,也可以直接編寫您的Pig腳本行並將其作爲Java字符串傳遞。
從文件名傳遞一個豬腳本:
PigServer pig = new PigServer(ExecType.MAPREDUCE);
pig.registerScript("/path/to/test.pig");
要通過你的豬程序作爲字符串:
PigServer pig = new PigServer(ExecType.MAPREDUCE);
pig.registerQuery("A = LOAD 'something' USING PigLoader();");
你可以拿回例如,結果是這樣的:
Iterator<Tuple> i = pig.openIterator("A");
HashMap<Integer, Integer> map = new HashMap<Integer, Integer>();
while (i.hasNext()) {
Integer val = DataType.toInteger(i.next().get(0));
map.put(val, val);
}
請注意,您需要在類路徑中包含一些屬性,即fs.default.name
和mapred.job.tracker
或者您可以將它們添加到PigServer
的構造函數中。
3
以上代碼是否可用於遠程呼叫,即Pig安裝在羣集1上&調用是從羣集外的應用程序服務器進行的?
相關問題
- 1. 遠程運行Hadoop作業
- 2. 運行Hbase遠程導入TSV作業
- 3. 無法遠程運行Hadoop作業
- 4. 遠程運行火花作業
- 5. 如何遠程運行mapreduce作業
- 6. 遠程執行Hudson作業
- 7. Resque遠程作業
- 8. Oozie示例運行豬作業時卡住
- 9. 以不同用戶身份運行豬作業
- 10. 運行豬腳本會導致錯誤:作業失敗。停止運行所有相關作業
- 11. 主jenkins可以在遠程jenkins上運行作業嗎?
- 12. 遠程運行Hadoop map-reduce作業會導致EOFException?
- 13. 運行遠程觸發作業時的模仿
- 14. Laravel Queue Worker,RabbitMQ和正在運行的作業遠程生成
- 15. 無法在遠程服務器上運行SQL作業
- 16. 如何在遠程YARN羣集上運行Flink作業
- 17. MR作業的豬文檔
- 18. 從oozie提交豬作業
- 19. PowerShell的遠程作業
- 20. 運行Cron作業
- 21. 無法運行豬
- 22. 運行豬腳本
- 23. 運行豬的NoClassDefFoundError
- 24. PHP:運行預定作業(cron作業)
- 25. 從命令行在遠程服務器上運行生產SPSS作業
- 26. 在oozie shell動作中運行豬
- 27. 運行並行作業
- 28. 作業調度程序每天運行
- 29. 從Java程序運行Hadoop作業
- 30. 運行Apache的豬教程問題
謝謝查爾斯..我會嘗試並接受答案:) – Ajn
我試過這個,但我無法理解在何處傳遞hadoop系統的網址。 – animal