【问题标题】:Superset with Apache Spark on Hive在 Hive 上使用 Apache Spark 的超集
【发布时间】:2020-06-26 00:58:42
【问题描述】:
我在本地机器上通过 Docker 安装了 Apache SuperSet。我有一个单独的生产 20 节点 Spark 集群,其中 Hive 作为元存储。我希望我的 SuperSet 能够连接到 Hive 并通过 Spark-SQL 运行查询。
为了连接到 Hive,我尝试了以下操作
添加数据库 --> SQLAlchemy URI *
hive://hive@<hostname>:10000/default
但是当我测试连接时它给出了一些错误。我相信我必须做一些隧道,但我不知道如何。
我也有 Hive thrift 服务器。
请告诉我如何继续
【问题讨论】:
标签:
hive
apache-spark-sql
apache-superset
superset
【解决方案1】:
您收到的错误是什么?虽然文档没有提到这一点,但提供连接 URL 的最佳方式是采用以下格式:
hive://<url>/default?auth=NONE ( when there is no security )
hive://<url>/default?auth=KERBEROS
hive://<url>/default?auth=LDAP
【解决方案2】:
- 首先您应该将 2 个容器连接在一起。
- 假设您有运行 superset 的 container_superset 和运行 spark 的 container_spark。
- run :
docker network ls # 显示容器及其网络
- 选择超集网络的名称(应该类似于 superset_default )
- 运行:
docker run --network="superset_default" --name=NameTheConatinerHere --publish port1:port2 imageName
---> port1:port2 是端口映射,imageName 是 spak 的镜像