我在microsoft azure hdinsight services托管的hadoop群集上运行了c#作业。为了使用我的自定义java输入格式,我必须在hdinsight服务器中直接使用hadoop命令行:
调用bin\hadoop jar lib\hadoop-streaming.jar-d“mapred.max.split.size=33554432”-libjars“./mycustom hadoop streaming.jar”-inputformat“mycustom.hadoop.combinedinputformat”…(我剪切了命令的其余部分)
现在,我正尝试通过powershell命令行(从另一台azure计算机进行远程作业提交)对作业提交执行相同的操作:
$jobdefinition=new azurehdinsightstreamingmapreducejobdefinition-定义@{“mapred.max.split.size”=“33554432”,“mapred.input.format.class”=“mycustom.hadoop.combinedinputformat”}(我切断了其余的命令)
但是用powershell命令行定义-libjars的方法在哪里呢?微软似乎没有考虑到这种能力:http://msdn.microsoft.com/en-us/library/windowsazure/dn527638.aspx
有没有人尝试过这样做,或者有一个解决方法来定义hdinsight流式作业提交的libjars?
1条答案
按热度按时间oaxa6hgo1#
您可能知道,hdinsight powershell和.net sdk使用webhcat/templeton rest api,我相信,新azurehdinsightstreamingmapreducejobdefinition没有libjars作为参数的原因是,templeton rest api没有或不支持它,如apache templeton文档所示-http://people.apache.org/~thejas/templeton_doc_latest/mapreducestreaming.html
另一方面,用于mapreduce/jar的templeton restapi支持libjarhttp://people.apache.org/~thejas/templeton_doc_latest/mapreducejar.html
相应地,相应的hdinsight cmdlet new azurehdinsightmapreducejobdefinition具有-libjars参数。
我希望这有助于解释!
方位角(msft)