4 ノード クラスターがあり、すべてのノード (名前ノード 1 つとデータ ノード 3 つ) に Hive がインストールされています。
名前ノードにアクセスしています。ファイルを入れたいときにどうなりますか。名前ノードとデータ ノードの間で内部的に何が起こっているのでしょうか?
同様に、データノード経由でファイルを配置したい場合はどうなりますか?
そして、Hive で作成したテーブルはどこに格納されるのでしょうか?
HDFS がどのように機能するかについては、こちらの優れたコミックをご覧になることをお勧めします。何が起こるかを要約するには:
少し複雑ですが、それがプロトコルの外観です。
Hive でテーブルを作成すると、このテーブルに関するメタデータ (列、SerDe、場所など) が、すべての Hive テーブルの中央リポジトリである Hive メタストアに入ります。このメタストアにはいくつかのバックエンドがあり、最も一般的なものは Derby または MySQL であり、これはプロパティjavax.jdo.option.ConnectionURL
とjavax.jdo.option.ConnectionDriverName
Hive 構成で制御されます。最終的に、データは によって制御されるディレクトリの HDFS に配置されhive.metastore.warehouse.dir
ます/user/hive/warehouse
。