如何在 azure 上提交用 python 编写的批处理作业。我正在寻找与此类似的东西,但不是针对 java,而是针对 python。
curl -k --user "admin:mypassword1!" -v -H 'Content-Type: application/json' -X POST -d '{ "file":"wasb://<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="d6bbafb5b9b8a2b7bfb8b3a496bbafa5a2b9a4b7b1b3b7b5b5b9a3b8a2f8b4bab9b4f8b5b9a4b3f8a1bfb8b2b9a1a5f8b8b3a2" rel="noreferrer noopener nofollow">[email protected]</a>/data/SparkSimpleTest.jar", "className":"com.microsoft.spark.test.SimpleFile" }' "https://mysparkcluster.azurehdinsight.net/livy/batches"
最佳答案
Java 和 Python 的 MapReduce 作业是不同的。
Java MapReduce程序打包成jar文件作为作业直接运行在Hadoop上。
但是 python MapReduce 作业被分成两个文件 mapper.py
和reducer.py
通过 STDIN
在 Hadoop Streaming 上运行和STDOUT
.
请引用文档http://www.michael-noll.com/tutorials/writing-an-hadoop-mapreduce-program-in-python/ ,并将mapper和reducer python脚本上传到HDInsight中,然后编写一个shell脚本作为在Hadoop上运行的作业。
关于python - 在azure上提交用python编写的批处理作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36368631/