Apache spark 配置单元数据库仅列出默认数据库
当我试图通过Spark(1.6)列出所有配置单元数据库时 当我试图通过配置单元外壳列出所有配置单元数据库时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
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>