我正在从Scala Shell运行此行
scala> spark-sql --jars /usr/local/spark/jars/sqlite-jdbc-3.23.1.jar;
我的会话
spark
res0: org.apache.spark.sql.SparkSession = org.apache.spark.sql.SparkSession@421f447f
发生奇怪的问题
<console>:1: error: ';' expected but double literal found.
spark-sql --jars /usr/local/spark/jars/sqlite-jdbc-3.23.1.jar;
如果我加引号
scala> spark-sql --jars "/usr/local/spark/jars/sqlite-jdbc-3.23.1.jar";
<console>:1: error: ';' expected but string literal found.
spark-sql --jars "/usr/local/spark/jars/sqlite-jdbc-3.23.1.jar";
^
为什么?
答案 0 :(得分:2)
您正在尝试从spark-sql cli
终端访问 scala
,
(:q + enter)
从Scala终端 退出,
然后从bash终端访问spark-sql
cli
bash$ spark-sql --jars "/usr/local/spark/jars/sqlite-jdbc-3.23.1.jar"
(or)
您可以使用jar初始化spark-shell,然后使用spark.sql(...)运行命令。
bash$ spark-shell --jars "/usr/local/spark/jars/sqlite-jdbc-3.23.1.jar"
scala> spark.sql("<sql_query>")