当我尝试通过 Spark (1.6) 列出所有 Hive 数据库时
scala> val tdf = sqlContext.sql("SHOW DATABASES");
tdf: org.apache.spark.sql.DataFrame = [result: string]
scala> tdf.show
+-------+
| result|
+-------+
|default|
+-------+
当我尝试通过 hive shell 列出所有 hive 数据库时
hive> show databases;
OK
default
Time taken: 0.621 seconds, Fetched: 1 row(s)
在我的 hive 中,实际上我已经有了很多数据库。我是否错过了 Cloudera 集群上的某些配置?还是我的 Hive Metastore 有问题?
最佳答案
使用 HiveContext 从配置单元中获取数据。将 hive.metastore.uris
设置为
Spark 代码-
System.setProperty("hive.metastore.uris","thrift://hostserver:9083")
val hivecontext = new HiveContext(sparkContext)
val tdf = hivecontext.sql("SHOW DATABASES");
Spark 外壳
spark-shell --driver-java-options "-Dhive.metastore.uris=thrift://hostserver:9083"
关于apache-spark - Hive 数据库仅列出默认数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51128243/