2009-07-17 3 views
-2

私はJDBCを使ってテーブルを実際に作成しようとしています。しかし、私はハイブシェルから作成したテーブルを実際に見ることはできません。さらに悪いことに、別のディレクトリからハイブシェルにアクセスすると、データベースの結果が異なって見えます。 設定が必要な設定はありますか?hadoopハイブ質問

ありがとうございます。

答えて

1

ハイブユーザーリストまたはIRCチャンネルに電子メールで連絡してください。

1

セントラルHiveメタストアを設定する必要があるかもしれません(デフォルトではDerbyですが、mySQL/Oracle/Postgresでもかまいません)。メタストアはHiveとHDFSの間の「接着剤」です。これは、より多くの情報については

など、彼らが属しているテーブル、そこに含まれるデータの種類、データファイルをHDFSに住んでハイブを伝え、http://wiki.apache.org/hadoop/HiveDerbyServerMode

0

があなたのHadoopログを調べ参照してください。私のために、私のハープシステムが正しくセットアップされなかったときに、これが起こった。ネームノードが他のマシンのデータノードに接続できませんでした。

0

ええ、これは、メタストアが正しく設定されていないためです。 Metastoreには、Hiveテーブルに関連付けられたメタデータ(テーブル名、テーブルの場所、列名、列の種類、バケット/ソート情報、パーティション情報、SerDe情報など)が格納されます。

デフォルトのメタストアは、任意の時点で1つのクライアントのみが使用できる組み込みDerbyデータベースです。これは明らかにほとんどの実用的な目的には十分ではありません。ほとんどのユーザーと同様に、Hiveインストールを構成して別のメタストアを使用する必要があります。 MySQLは人気のある選択です。私は、Clouderaのウェブサイトのthis linkを使用してMySQLメタストアを正常に設定しました。

3

初めてハイブCLIを起動すると、カレントディレクトリにmetastore derby dbが作成されるため、必ず同じディレクトリからハイブを実行してください。このDerby DBには、ハイブテーブルのメタデータが含まれています。ディレクトリを変更すると、ハイブテーブルのメタデータが未整理になります。また、Derby DBは複数のセッションを処理できません。同時Hiveアクセスを可能にするには、付属のwimpy little derbyDBではなく、実際のデータベースを使用してMetastoreを管理する必要があります。このためにmysqlをダウンロードして、mysql type 4の純粋なjavaドライバへのjdbc接続のハイブプロパティを変更することができます。