JDBC接続ハイブを使用してJava

  最近では、実際には、JDBC接続の問題をハイブ問題ではなく、大きな問題に取り組んで、接続を防止し、間違ったURLを記述することです。問題はHiveServer2が渡されたパラメータを使用することができない、通常の状況で、その結果、セキュリティ検証のレベルを上げることで、ハイブの接続は、空のユーザーエラーを返し、特定のエラーは、JDBC URLの書き込みの問題について話を今日、詳細には触れなくなりました。

  通常の状況下でのURL:

JDBC:hive2:// ノード1:10000 /デフォルト

  この場合、すべてのデフォルト、アクセス制限。これだけの例から見て、URLの基本的な形式は次のとおりです。

JDBC:hive2:// ホスト:ポート[/スキーマ];プロパティ1 =値; Property2 =値; ...

  例えば、URLに接続するためのユーザー名とパスワードを使用して:

JDBC:hive2:// localhostを:10000; AuthMech = 3; UID =ユーザー名; PWD =パスワード

  これは、ハイブへのUIDのデフォルト、AuthMechデフォルト2です。

  ハイブJDBC接続のセキュリティメカニズムが、集中の状況に分けることができ、権限、ケルベロス、ユーザー名とユーザー名とパスワードなしであったが、セキュリティは、次のようなAuthMech、属性:

JDBC:hive2:// localhostを:10000; AuthMech = 0
JDBC:hive2:// localhostを:10000; AuthMech = 1; KrbRealm = EXAMPLE.COM; KrbHostFQDN = hs2.example.com; KrbServiceName =ハイブ
JDBC:hive2:// localhostを:10000; AuthMech = 2; UID = HS2
JDBC:hive2:// localhostを:10000; AuthMech = 3; UID = HS2; PWD = *****
JDBC:hive2:// localhostを:10000; AuthMech = 3; SSL = 1; SSLKeyStore = C:\\ユーザー\\ bsmithという\\デスクトップ\\たkeystore.jks; SSLKeyStorePwd = *****; UID = HS2; PWD = *****

 

  上記は、SQLを実行するときに、ハイブの環境変数の一部を変更する必要がある場合、どのようにそれを変更するには、しかし、ハイブJDBC URLの一般的なパターンですか?見てみましょう:

 

JDBC:hive2:// <ホスト>:<?ポート> / DBNAME; sess_var_list hive_conf_list#hive_var_list

 

これは、完全なJDBC URL形式です:

 

  • sess_var_listパラメータリスト:セッションなど主要などのパラメータ、serviceDiscoveryMode等。
  • hive_conf_listパラメータリスト:ハイブ設定パラメータ、ハイブ-site.xml構成項目。
  • hive_var_listパラメータリスト:変数パラメータのハイブ。

あなたはハイブ-site.xml内の変数のいくつかは、あなたが追加する必要があることを、関連するパラメータのSQL時間のハイブ実装を指定したい場合は?その後、キー=値は、セミコロンで区切られた複数の形成します。例えば:

JDBC:hive2:// ?Ubuntuの:11000 / DB2 hive.cli.conf.printheader =真; hive.exec.mode.local.auto.inputbytes.max = 9999#刺し= salesTable; ICOL =得意先

はjdbc:hive2:/ / ?hive.cli.conf.printheader =真; hive.exec.mode.local.auto.inputbytes.max = 9999#刺し= salesTable; ICOL =得意先

はjdbc:hive2:// Ubuntuの:11000 / DB2;ユーザー= fooの;パスワード=バーの

JDBC:hive2:// サーバー:10001 /デシベル;ユーザー= FOO;パスワード=バーhive.server2.transport.mode =のhttp; hive.server2.thrift.http.path = HS2?

JDBC:hive2:/ / zk01:2181、zk02:2181、zk03:2181 /; serviceDiscoveryMode =飼育係、zooKeeperNamespace = hiveserver2

ハイブ-JDBCにおける具体的な解析コード、クラスファイルHiveConnection.java。一般的なプロセスを解決しています。

// 今ダミー権限を持つ解析URI接続 
URI jdbcURI = URI.create(uri.substring(URI_JDBC_PREFIX.length()));
 // DBNAME設定とセッション(パラメータが第1取得部) 
文字列sessVars = jdbcURI.getPath()。
 // 解析ハイブCONF設定(パラメータが第2の部分を取得する) 
文字列confstr = jdbcURI.getQuery();
 // 解析ハイブVAR設定(一部は第三のパラメータを取得する) 
文字列varStr jdbcURI.getFragment =();

これらは、ハイブJDBC URLのさまざまな部分を説明するあります。

 

HveServer2公式ドキュメント:

https://cwiki.apache.org/confluence/display/Hive/HiveServer2+Clients#HiveServer2Clients-JDBC

 

おすすめ

転載: www.cnblogs.com/flowerbirds/p/11256432.html