如何使用spark submit运行emr集群主节点上的scala文件?

vddsk6oq  于 2021-07-13  发布在  Spark
关注(0)|答案(1)|浏览(496)

因此,我使用ssh连接到emr集群的主节点。这是主节点中的文件结构:

|-- AnalysisRunner.scala
|-- AutomatedConstraints.scala
|-- deequ-1.0.1.jar
|-- new
|   |-- Auto.scala
|   `-- Veri.scala
|-- VerificationConstraints.scala
`-- wget-log

现在,我要先跑 spark-shell --conf spark.jars=deequ-1.0.1.jar 一旦我到达scala提示符,我就会使用 :load new/Auto.scala 运行scala脚本。
我想做的是:
在emr集群的主节点上,我想运行一个 spark-submit 这将帮助我实现我之前所做的一切。
我是新手,有人能帮我指挥吗?

6tdlim6h

6tdlim6h1#

对于任何可能被困在这里的初学者:
你需要有一个ide(我使用intellij idea)。应遵循的步骤:
创建一个scala项目-在build.sbt文件中列出所有需要的依赖项。
创建一个包(比如说“pkg”),然后在它下面创建一个scala对象(比如说“obj”)。
在scala对象中定义main方法并编写逻辑。
处理项目以形成单个.jar文件(使用ide工具或在项目目录中运行“sbt package”)
使用以下命令提交

spark-submit --class pkg.obj 
--jars <path to your dependencies (if any)> 
<path to the jar created from your code> 
<command line arguments (if any)>

这对我有用。注意-如果您在emr集群上运行此命令,请确保所有路径都是基于
群集上存在文件系统
s3路径

相关问题