-2

JDBCを使用して実用的にテーブルを作成しようとしています。ただし、ハイブシェルから作成したテーブルは実際には表示されません。さらに悪いことに、異なるディレクトリからハイブシェルにアクセスすると、データベースの結果が異なります。設定する必要のある設定はありますか?

前もって感謝します。

4

5 に答える 5

3

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

于 2012-06-15T20:26:19.703 に答える
1

Hive ユーザーリストまたは IRC チャネルにメールを送信してみてください。

于 2009-07-17T17:08:01.397 に答える
1

おそらく、中央の Hive メタストアをセットアップする必要があります (デフォルトでは Derby ですが、mySQL/Oracle/Postgres にすることもできます)。メタストアは、Hive と HDFS の間の「接着剤」です。データ ファイルが HDFS のどこに存在するか、含まれるデータの種類、属するテーブルなどを Hive に通知します。

詳細については、http://wiki.apache.org/hadoop/HiveDerbyServerModeを参照してください。

于 2009-08-11T03:49:02.170 に答える
0

ええ、それはメタストアが適切に設定されていないためです。Metastoreは、Hiveテーブルに関連付けられたメタデータ(たとえば、テーブル名、テーブルの場所、列名、列タイプ、バケット化/並べ替え情報、パーティション化情報、SerDe情報など)を格納します。

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

于 2012-04-26T03:34:12.153 に答える
0

Hadoop ログを調べます。私の場合、これは Hadoop システムが適切にセットアップされていないときに発生しました。namenode は、他のマシンなどのデータノードに接続できませんでした。

于 2010-07-06T11:33:40.803 に答える