我已在azure中创建了一个hdinsight群集(v4,spark 2.4),并希望通过azure data factory v2活动在此群集上运行spark.ne应用程序。在spark活动中,可以指定jar的路径,--类参数和要传递给spark应用程序的参数。参数在运行时自动以“-args”作为前缀。但是能够设置“--files”是必要的,因为它告诉spark提交哪些文件需要部署到工作节点。在本例中,它用于分发带有自定义项定义的dll。这些文件是spark运行所必需的。由于自定义项是激发应用程序的关键组件,我本以为这应该是可能的。
spark活动设置
如果我ssh到集群并直接运行spark submit命令并指定--files参数,那么spark应用程序可以工作,因为文件被分发到工作节点。
spark-submit --deploy-mode cluster --master yarn --files wasbs://xxx@yyy.blob.core.windows.net/SparkJobs/mySparkApp.dll --class org.apache.spark.deploy.dotnet.DotnetRunner wasbs://xxx@yyy.blob.core.windows.net/SparkJobs/microsoft-spark-2.4.x-0.12.1.jar wasbs://xxx@yyy.blob.core.windows.net/SparkJobs/publish.zip mySparkApp
以下是已遵循的指南:
https://docs.microsoft.com/en-us/dotnet/spark/how-to-guides/deploy-worker-udf-binaries
https://docs.microsoft.com/en-us/dotnet/spark/how-to-guides/hdinsight-deploy-methods
https://docs.microsoft.com/en-us/dotnet/spark/tutorials/hdinsight-deployment
1条答案
按热度按时间ar5n3qh51#
您可以在azure数据工厂中将参数/参数传递给pyspark脚本,如下所示:
代码:
如何在adf中传递参数:
在azure数据工厂中传递参数的一些示例: