Hiveデータベースに接続するためのjdbcプログラムを作成しています。ユーザー名とパスワードで接続URLに指定してほしい。
HiveQLを使用してユーザー名とパスワードを取得する方法がわかりません。誰かが私を助けることができますか?
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
とjavax.jdo.option.ConnectionPassword
を検索します。これらのプロパティの値は、それぞれHiveのユーザー名とパスワードです。
(デフォルト値は、Hive-default.xml
にあるユーザー名とパスワードのAPP
とmine
です)
場合によっては、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 forHiveにhadoopという名前のデータベースがあります。そのため、javax.jdo.option.ConnectionURL
の値はjdbc:mysql://localhost:3306/hadoop
です。
ユーザー名とパスワードを設定または検索したら、次のように使用します。
Connection con = DriverManager.getConnection("jdbc:Hive2://localhost:10000/default", "hiveuser", "hivepass");
default
の代わりにHive database name
を使用してください。それが役に立てば幸い!!!!
Hiveのデフォルトのユーザー名はHive
hiveserver2には以下の接続文字列を使用してください
"jdbc:Hive2://localhost:10000/default", "Hive", ""
hiveserver1のデフォルトは空ですが、hiveserver2は空のユーザー名とパスワードでも機能します。
jdbc:Hive://localhost:10000/default
ドライバー名:org.Apache.hadoop.Hive.jdbc.HiveDriver
ユーザー名とパスワードが空です
リンクを読む Beelineを使用してHiveに接続する