【发布时间】:2015-02-25 23:20:32
【问题描述】:
我正在尝试在 spark-shell 中执行此操作:
val hiveCtx = new org.apache.spark.sql.hive.HiveContext(sc)
val listTables = hiveCtx.hql("show tables")
第二行执行失败并显示此消息:
警告:有 1 个弃用警告;使用 -deprecation 重新运行以获取详细信息 org.apache.spark.sql.hive.HiveQl$ParseException:解析失败:显示表 在 org.apache.spark.sql.hive.HiveQl$.createPlan(HiveQl.scala:239) 在 org.apache.spark.sql.hive.ExtendedHiveQlParser$$anonfun$hiveQl$1.apply(ExtendedHiveQlParser.scala:50) 在 org.apache.spark.sql.hive.ExtendedHiveQlParser$$anonfun$hiveQl$1.apply(ExtendedHiveQlParser.scala:49) 在 scala.util.parsing.combinator.Parsers$Success.map(Parsers.scala:136) 在 scala.util.parsing.combinator.Parsers$Success.map(Parsers.scala:135) 在 scala.util.parsing.combinator.Parsers$Parser$$anonfun$map$1.apply(Parsers.scala:242)
... 在 org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala) 引起:java.lang.NullPointerException:Conf 非本地会话路径应为非空 在 com.google.common.base.Preconditions.checkNotNull(Preconditions.java:204) 在 org.apache.hadoop.hive.ql.session.SessionState.getHDFSSessionPath(SessionState.java:586) 在 org.apache.hadoop.hive.ql.Context.(Context.java:129) 在 org.apache.hadoop.hive.ql.Context.(Context.java:116) 在 org.apache.spark.sql.hive.HiveQl$.getAst(HiveQl.scala:227) 在 org.apache.spark.sql.hive.HiveQl$.createPlan(HiveQl.scala:240) ... 87 更多
任何帮助将不胜感激。 谢谢。
【问题讨论】:
-
您针对的是哪个版本的 Spark?
-
你的conf设置正确了吗?
-
哦,现在不推荐使用 hql 来支持 sql
-
尝试使用分号 -
"show tables;"。正如错误所说java.lang.NullPointerException:Conf non-local session path expected to be non-null,您的配置不正确。 -
我已将 hive-site.xml 添加到 conf。尝试包括分号。 Spark 版本 - 1.2.1
标签: scala hadoop hive apache-spark hiveql