Spark-submit Sql Context Create Statement不起作用

Yus*_*kan 5 scala apache-spark spark-streaming apache-spark-sql

我的下面的代码不适用于Spark-submit.

sqlContext.sql(s"""
create external table if not exists landing (
date string,
referrer string)
partitioned by (partnerid string,dt string)
row format delimited fields terminated by '\t' lines terminated by '\n'
STORED AS TEXTFILE LOCATION 's3n://....'
      """)
Run Code Online (Sandbox Code Playgroud)

它给出错误:线程"main"中的异常java.lang.RuntimeException:[1.2]失败:``with''预期但找到标识符

此代码适用于Spark-shell,但不适用于Spark-submit.可能是什么原因?

小智 3

Spark-Shell 中的“sqlContext”默认为“HiveContext”。也许您需要在脚本中新建 HiveContext 而不是 sqlContext。

你可以像这样新建它:

import SparkContext._
import org.apache.spark.sql.hive._ 
val sc = new SparkContext()
val sqlContext = new HiveContext(sc)
Run Code Online (Sandbox Code Playgroud)