繁体   English   中英

Spark-SQL CLI中可用的表在ThriftServer上不可用

[英]tables available in Spark-SQL CLI are not available over thriftserver

我正在尝试通过thriftserver在JDBC上公开我的spark-sql表,但是即使我看起来已经成功连接,它也无法正常工作。 到目前为止,这是我尝试过的。

数据库设置:

  • 在pyspark中,我加载了一个实木复合地板文件,并创建了一个临时视图为tableX
  • 执行一个.saveAsTable作为hive_tableX
  • 然后我查询了该表: spark.sql("SELECT * FROM hive_tableX LIMIT 1").show()返回了一些数据
  • 此时,我的代码将表信息保存到hivestore中,对吗?

从spark-sql查询:

  • 然后,我运行了spark-sql ,启动了spark sql shell
  • USE default
  • show tables; ->我在那看到我的桌子hive_tableX
  • SELECT * FROM hive_tableX LIMIT 1 ,我看到了一些成功的结果。
  • 因此,我相信现在可以验证我的表已保存在配置单元metastore中,对吗?

然后我打开Thriftserver

  • ./sbin/start-thriftserver.sh

接下来,我打开beeline,以便可以测试thriftserver连接

  • !connect jdbc:hive2://localhost:10000 (并输入用户名和密码)
  • 然后我选择默认数据库: use default;
  • show tables; ->那里什么都没有。

那么,我的桌子在哪里? 是直线还是节俭指向另一个仓库或其他东西?

编辑:我认为我的thriftserver没有使用正确的仓库目录,所以我正在尝试使用config选项启动它:

  • [仍然没有] sbin / start-thriftserver.sh --hiveconf spark.sql.warehouse.dir = / code / spark / thrift / spark-househouse
  • [仍然没有] sbin / start-thriftserver.sh --conf spark.sql.warehouse.dir = / code / spark / thrift / spark-househouse

编辑:在创建wherehouse所在的相同物理目录中启动它似乎可以解决问题。 虽然,我不知道如何以编程方式设置其他路径并在其他地方启动。

解决此特定问题的方法是,我从不同于spark-wherehousemetastore_db所在的目录开始节俭。

一旦从正确的目录启动它,它就会按预期工作,并且我的表现在可用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM