Apache spark 配置单元数据库仅列出默认数据库

Apache spark 配置单元数据库仅列出默认数据库,apache-spark,hadoop,hive,cloudera,cloudera-manager,Apache Spark,Hadoop,Hive,Cloudera,Cloudera Manager,当我试图通过Spark(1.6)列出所有配置单元数据库时 当我试图通过配置单元外壳列出所有配置单元数据库时 hive> show databases; OK default Time taken: 0.621 seconds, Fetched: 1 row(s) 在我的蜂巢里,实际上我已经有很多数据库了。我是否错过了Cloudera集群上的一些配置?或者我的配置单元元存储可能有问题?使用HiveContext从配置单元获取数据。设置hive.metastore.uriby 火花代码- S

当我试图通过Spark(1.6)列出所有配置单元数据库时

当我试图通过配置单元外壳列出所有配置单元数据库时

hive> show databases;
OK
default
Time taken: 0.621 seconds, Fetched: 1 row(s)

在我的蜂巢里,实际上我已经有很多数据库了。我是否错过了Cloudera集群上的一些配置?或者我的配置单元元存储可能有问题?

使用HiveContext从配置单元获取数据。设置
hive.metastore.uri
by

火花代码-

System.setProperty("hive.metastore.uris","thrift://hostserver:9083")
val hivecontext = new HiveContext(sparkContext)
val tdf = hivecontext.sql("SHOW DATABASES");
火花壳

spark-shell --driver-java-options "-Dhive.metastore.uris=thrift://hostserver:9083"

由于
Hive
shell也只显示
default
数据库,因此可以检查
Hive
metastore配置

首先,您可以登录到具有metastore的数据库,并运行此查询,该查询应列出
Hive
数据库。
MySQL
数据库的查询示例如下:

mysql> SELECT NAME, DB_LOCATION_URI FROM hive.DBS;
然后,您可以按照下面的说明验证和更新
hive site.xml
。此文件在
CDH
上的位置通常位于
/usr/lib/hive/conf/hive site.xml
,在
HDP
上的位置通常位于
/usr/HDP/current/hive client/conf/hive site.xml

metastore配置的文档参考:

(a)

b) (CDH)(请参阅:4.配置metastore服务以与MySQL数据库通信)

配置示例:

<property>
  <name>javax.jdo.option.ConnectionDriverName</name>
  <value>com.mysql.jdbc.Driver</value>
</property>

<property>
  <name>javax.jdo.option.ConnectionURL</name>
  <value>jdbc:mysql://localhost/hive?createDatabaseIfNotExist=true</value>
</property>

<property>
  <name>javax.jdo.option.ConnectionUserName</name>
  <value>hive</value>
</property>

javax.jdo.option.ConnectionDriverName
com.mysql.jdbc.Driver
javax.jdo.option.ConnectionURL
jdbc:mysql://localhost/hive?createDatabaseIfNotExist=true
javax.jdo.option.ConnectionUserName
蜂箱

您是如何设置spark的。。我认为您缺少spark conf目录下的hive-site.xml副本..FWIW,您应该检查安装Spark2I是否已尝试复制该文件,但它返回另一个错误a,它在将thrift url作为参数传递后工作:spark shell--驱动程序java选项“-Dhive.metastore.uris=thrift://hostserver:9083"
<property>
  <name>javax.jdo.option.ConnectionDriverName</name>
  <value>com.mysql.jdbc.Driver</value>
</property>

<property>
  <name>javax.jdo.option.ConnectionURL</name>
  <value>jdbc:mysql://localhost/hive?createDatabaseIfNotExist=true</value>
</property>

<property>
  <name>javax.jdo.option.ConnectionUserName</name>
  <value>hive</value>
</property>