正在编写jdbc程序来连接hive数据库。我希望在连接 url 中提供用户名和密码。
我不知道如何使用 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
要获取 Hive 用户名和密码,请访问hive-site.xml
并搜索javax.jdo.option.ConnectionUserName
and javax.jdo.option.ConnectionPassword
。这些属性的值分别是您的 hive 用户名和密码。
(默认值为APP
and 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 的数据库用于 hive。这就是为什么价值javax.jdo.option.ConnectionURL
is jdbc:mysql://localhost:3306/hadoop
.
设置或找到您的用户名和密码后,请按如下方式使用:
Connection con = DriverManager.getConnection("jdbc:hive2://localhost:10000/default", "hiveuser", "hivepass");
用你的hive database name
代替default
。希望能帮助到你!!!!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)