0

bigtop 統合テストをスキャンした結果、HIVE にはサーバー URL や HBASE など、多くの依存関係があることに気付きました。

参照: https://github.com/cloudera/bigtop/blob/master/test/src/smokes/hive/src/test/groovy/com/cloudera/itest/hivesmoke/TestJdbcDriver.java

いずれにせよ、私は疑問に思います - 当初、Hive は本質的に SQL 宣言を MapReduce ジョブに変換する方法のようでした。

Hive の運用における hbase と「ハイブ サーバー」の役割は何ですか? Hive は SQL -> MapReduce クライアントとして自立できますか、それともこれらのハードなグローバル要件はありますか?

4

1 に答える 1

3

github コードから、JDBC を使用して Hive を「接続」する必要がある cloudera によるスモーク テスト モジュールであることがわかります。しかし実際には、「サーバー」や「HBase」がなくてもハイブを使用できます。

1) サーバーURLは、リモートJava APIからthriftサーバーに接続するためのURLです。ここでのサーバーは、Hive ワールドへのファサードのようなものです (ここまたは下の写真を参照してください)。によってサーバーを起動する必要がありますhive --service hiveserver &。こちらで説明されているように、サーバーをスキップして、Hive CLI (組み込みモード) を直接使用できます

   +-----------+      +-------------+     +--------------+
   |           |      |             |     |              |
   |java client+----->|hive server  +----->metastore srv |
   |           |      |             |     |              |
   +-----------+      +-------------+     +------+-------+
                                                 |
                                                 v
                                           +--------------+
                                           |              |
                                           |    Database  |
                                           |              |
                                           +--------------+

2) HBase に関しては、HBase を使用しないのであれば、気にする必要はありません。Hive はデータ ウェアハウス ツールであり、HDFS や HBase などにあるデータを処理できます。HDFS へのアクセスは簡単ですが、HBase へのアクセスは"Hive-HBase-Integration"を使用すると少し複雑になります。

于 2013-08-28T01:16:37.427 に答える