我正在编写jdbc程序来连接hive数据库。我希望用户名和密码在连接网址中提供。
我不知道如何使用hive QL获取用户名和密码。 有人可以帮帮我吗?
Exception in thread "main" java.sql.SQLNonTransientConnectionException: [DataDirect][Hive JDBC Driver]A value was not specified for a required property: PASSWORD
at com.ddtek.jdbc.hivebase.ddcp.b(Unknown Source)
at com.ddtek.jdbc.hivebase.ddcp.a(Unknown Source)
at com.ddtek.jdbc.hivebase.ddco.b(Unknown Source)
at com.ddtek.jdbc.hivebase.ddco.a(Unknown Source)
at com.ddtek.jdbc.hive.HiveImplConnection.b(Unknown Source)
at com.ddtek.jdbc.hivebase.BaseConnection.b(Unknown Source)
at com.ddtek.jdbc.hivebase.BaseConnection.k(Unknown Source)
at com.ddtek.jdbc.hivebase.BaseConnection.b(Unknown Source)
at com.ddtek.jdbc.hivebase.BaseConnection.a(Unknown Source)
at com.ddtek.jdbc.hivebase.BaseDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(DriverManager.java:571)
at java.sql.DriverManager.getConnection(DriverManager.java:215)
at hivejdbcconnection.HiveJdbcConnection.main(HiveJdbcConnection.java:33)
Java Result: 1
答案 0 :(得分:7)
要获取配置单元用户名和密码,请转到hive-site.xml
并搜索javax.jdo.option.ConnectionUserName
和javax.jdo.option.ConnectionPassword
。这些属性的值分别是您的hive用户名和密码。
(用户名和密码的默认值为APP
和mine
,可在hive-default.xml
中找到)
如果你在hive-site.xml中没有这样的属性。然后在hive-site.xml
:
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hiveuser</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hivepass</value>
</property>
<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:3306/hadoop</value>
</property>
注意:我在mysql中有一个名为hadoop的数据库用于配置单元。这就是为什么javax.jdo.option.ConnectionURL
的值是jdbc:mysql://localhost:3306/hadoop
。
设置或查找用户名和密码后,请按以下步骤使用:
Connection con = DriverManager.getConnection("jdbc:hive2://localhost:10000/default", "hiveuser", "hivepass");
使用hive database name
代替default
。希望它有所帮助!!!!
答案 1 :(得分:0)
配置单元默认用户名为配置单元
为hiveserver2使用以下连接字符串
"jdbc:hive2://localhost:10000/default", "hive", ""
hiveserver1 默认为空,hiveserver2也可以使用空用户名和密码。
jdbc:hive://localhost:10000/default
驱动程序名称:org.apache.hadoop.hive.jdbc.HiveDriver
用户名和密码为空