【发布时间】:2018-12-12 17:56:06
【问题描述】:
我正在使用带有 Spark 1.6.0 的 VM,我正在尝试使用来自 Hive 的 dat 创建一个数据帧。
我在默认数据库中有 2 个表,但是当我尝试使用 Spark 显示所有表时,我没有得到任何结果:
sqlContext.sql("show tables").collect()
[]
sqlContext.sql("show databases").collect()
[Row(result=u'default')]
我的 Hive 表是直接在默认数据库上的 Hive 上创建的:
CREATE TABLE team
(id INT, sports STRING, players INT)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ","
LOCATION "/user/cloudera/data/sports";
为什么我看不到我的桌子?
谢谢!
【问题讨论】:
-
你在使用
HiveContext吗? -
是的,Spark 将 HiveContext 创建为 sqlContext
-
你可以试试
sqlContext.sql("show tables in default").show() -
@GaurangShah it retuns "Caused by: ERROR XJ040: Failed to start database 'metastore_db' with class loader org.apache.spark.sql.hive.client.IsolatedClientLoader$$anon$1@2dd31aac,见下一个例外的细节。”
标签: python apache-spark hive