我可以从spark-
shell访问hive表,但在提交作为工作的一部分时接收下面指定的异常:
val df = sqlContext.table("dbName.tableName")
线程“main”中的异常org.apache.spark.sql.AnalysisException:临时表不允许指定数据库名称或其他限定符.如果表名中有点(.),请用反引号(`)引用表名.
请让我知道如何解决这个问题.
解决方法
你不能从sqlContext那样做,你需要为此定义一个HiveContext,如下所示:
val hiveContext = new HiveContext(sc) import hiveContext.implicits._ import hiveContext.sql
hive上下文增加了对在MetaStore中查找表并使用HiveQL编写查询的支持.没有现有Hive部署的用户仍可以创建HiveContext.
如果未由hive-site.xml配置,则上下文会自动在当前目录中创建metastore_db和warehouse.
一旦定义了HiveContext,就可以在HiveQL中表达查询.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。