如何解决如何通过 ssh 在 hadoop 中运行 spark scala 应用程序?
我有 Scala 应用程序对象
object SparkApp extends App {
Runner.run(new SparkConf().setAppName("test_scala"))
}
object Runner {
def run(conf: SparkConf): Unit = {
val spark = SparkSession
.builder()
.config(conf)
.getorCreate()
import spark.implicits._
val table1 = spark.table("table1")
val table2 = spark.table("table2")
val result = table1.join(table2,table1.col("id") === table2.col("id_2"))
result.write.saveAsTable("test_scala")
}
}
如何在hadoop中运行这个程序?我通过 ssh 连接到集群并尝试:
spark-submit --class com.my.org.project.SparkApp --master yarn --deploy-mode cluster --driver-memory 500M --executor-memory 500M
哪里有问题?
解决方法
只有在我们测试逻辑时,代码才能使用 App
特征运行。查看以下重写的代码,您可以再次构建并运行它。
import org.apache.spark.SparkConf
import org.apache.spark.sql.SparkSession
object SparkApp{
def main(args:Array[String]): Unit = {
val conf = new SparkConf()
val spark = SparkSession
.builder()
.config(conf)
.getOrCreate()
val table1 = spark.table("table1")
val table2 = spark.table("table2")
val result = table1.join(table2,table1.col("id") === table2.col("id_2"))
result.write.saveAsTable("test_scala")
}
}
更新的 Spark 提交:
spark-submit --class com.my.org.project.SparkApp --master yarn --deploy-mode cluster --driver-memory 500M --executor-memory 500M spark_application.jar
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。