来自 CLI 的 scala/spark 脚本

Posted

技术标签:

【中文标题】来自 CLI 的 scala/spark 脚本【英文标题】:scala/spark script from CLI 【发布时间】:2018-05-07 16:52:18 【问题描述】:

我正在从 unix cli 运行 scala_script.scala 并得到错误:enycription key missing,而相同的 scala 代码在 spark-shell 中运行良好。

该代码用于访问配置单元表,将其加载到数据框中,处理一些转换,然后再次:write.mode("append/overwrite").saveAsTable("my_db.my_table")。代码是:

import org.apache.spark.sql.hive.HiveContext;
val hc = new org.apache.spark.sql.hive.HiveContext(sc)
val tb_applicant_details=hc.sql("SELECT * FROM staging_mps_25.applicant_details")
tb_applicant_details.write.mode("overwrite").insertInto("spark_tests.new_test_person")

【问题讨论】:

【参考方案1】:

一个好的方法是使用 spark-shell 的 :load "path_to_script"。 另一个是在 spark-shell -i 命令中提供正确的驱动程序 --driver 并设置 --master yarn 以运行脚本。 像, spark-shell -i --master yarn --driver"com.correct.driver" complete/absolute/path/to/script.scala

【讨论】:

以上是关于来自 CLI 的 scala/spark 脚本的主要内容,如果未能解决你的问题,请参考以下文章

我们可以编写 Scala/Spark 通用动态编写的代码吗

ScriptExternalLoadError:加载脚本失败。 vue-cli@5.0.0-rc.0

使用来自另一个 DF (Scala Spark) 的模式创建一个空 DF

通过 Spark R 操作 Hive

来自 mac CLI 的 Forticlient ***

为 PERL 脚本构建 CLI 参数的 Shell 脚本