Zeppelin:在 HDP3.0 中不显示 Hive 数据库/表
Posted
技术标签:
【中文标题】Zeppelin:在 HDP3.0 中不显示 Hive 数据库/表【英文标题】:Zeppelin : Not Showing Hive Database/tables in HDP3.0 【发布时间】:2019-02-19 15:46:26 【问题描述】:我已经安装了 Hortonworks hdp3.0 并配置了 Zeppelin。
当我运行 spark 或 sql 时,Zeppelin 只显示默认数据库(这是来自 Spark 的默认数据库,其位置为“/apps/spark/warehouse”,而不是 Hive 的默认数据库)。这可能是因为 hive.metastore.warehouse.dir 属性未从 hive-site.xml 设置,而 zeppelin 是从 Spark 配置 (spark.sql.warehouse.dir) 中选择的。
我也遇到了与 spark 类似的问题,这是由于 spark-conf 目录上的 hive-site.xml 文件,我能够通过将 hive-site.xml 从 hive-conf 目录复制到 spark-conf 来解决这个问题目录。
我对 Zeppelin 也做了同样的事情,将 hive-site.xml 复制到了 zeppelin 目录中(它有 zeppelin-site.xml 并且还复制到了 zeppelin-external-dependency-conf 目录中。
但这并没有解决问题。
【问题讨论】:
在创建 Spark 会话时是否启用了 Hive 支持? Zeppelin 不使用 Hive 站点,它只使用 Spark 可用的站点...您尝试过 Hive 的 JDBC 连接器吗? @vamsiprabhala 我通过 enableHiveSupport() 启用配置单元支持来创建 spark 会话,甚至尝试设置 spark.sql.warehouse.dir 配置属性。但这没有帮助。 import org.apache.spark.sql.SparkSession val spark = SparkSession.builder.appName("Spark Hive Example").config("spark.sql.warehouse.dir", "/apps/hive/db").enableHiveSupport( ).getOrCreate() @cricket_007 - 这是有用的信息,但我可以通过 spark 查看所有 hive 数据库。它仅在 Zeppelin 中(通过 spark2)我无法访问 Hive 数据库。另外 Zeppelin 不允许我选择编程语言,它默认创建与 scala 的会话。对此的任何帮助将不胜感激。 使用 Hive 上下文是默认值,您可以使用魔法命令更改任何单元格中的解释器。 zeppelin.apache.org/docs/latest/interpreter/spark.html 我不确定您在哪里寻找数据库,但我看到使用 Spark thriftserver 时只会显示默认值,但这不会阻止您在其他人身上运行查询。移动 XML 文件后,您是否重新启动了 Zeppelin? 【参考方案1】:将 hive-site.xml 从 hive-conf 目录复制到 spark-conf 目录后,我重新启动了恢复这些更改的 spark 服务,我再次复制了 hive-site.xml,它现在可以工作了。
cp /etc/hive/conf/hive-site.xml /etc/spark2/conf
【讨论】:
以上是关于Zeppelin:在 HDP3.0 中不显示 Hive 数据库/表的主要内容,如果未能解决你的问题,请参考以下文章