Hive テーブルの作成: 内部テーブル、変更、ドロップ (例付き)

表 Operaなどのオプション 作成、変更、削除 Hive のテーブルについては、このチュートリアルで確認できます。

以下のスクリーンショットでは、列を含むテーブルを作成し、テーブル名を変更しています。

1. 「empid」と「empname」などの XNUMX つの列名を持つテーブル guru_sample を作成します。

2. guru99データベースに存在するテーブルの表示

3. テーブルの下に表示される Guru_sample

4. テーブル「guru_sample」を「guru_sampleNew」に変更します

5. 再度、「show」コマンドを実行すると、新しい名前 Guru_sampleNew が表示されます。

ハイブ作成テーブル

Dropping table guru_sampleNew:

ハイブ作成テーブル

テーブルの種類とその使用法

に来ます テーブル類 これは、従来のリレーショナル データベースを作成する方法とまったく同じです。 フィルタリングや結合などの機能をテーブルに対して実行できます。

ハイブ 次の XNUMX 種類のテーブル構造を扱います。 内部と外部 テーブルは、Hive でのスキーマの読み込みと設計に応じて異なります。

内部テーブル

  • 内部テーブルは本質的に密結合です。 このタイプのテーブルでは、まずテーブルを作成してデータをロードする必要があります。
  • これを次のように呼ぶことができます スキーマ上のデータ.
  • このテーブルを削除すると、データとスキーマの両方が削除されます。
  • このテーブルの保存場所は /user/hive/warehouse になります。

内部テーブルを選択するのはどのような場合ですか?

  • 処理データがローカル ファイル システムで利用可能な場合
  • Hive に削除を含むデータのライフサイクル全体を管理させたい場合

内部テーブルのサンプル コード スニペット

1. 内部テーブルを作成するには

 Hive>CREATE TABLE guruhive_internaltable (id INT,Name STRING);
	 Row format delimited 
	 Fields terminated by '\t';

2. データを内部テーブルにロードします

    Hive>LOAD DATA INPATH '/user/guru99hive/data.txt' INTO table guruhive_internaltable;

3. テーブルの内容を表示する

    Hive>select * from guruhive_internaltable;

4. 内部テーブルを削除するには

    Hive>DROP TABLE guruhive_internaltable;

guruhive_internaltable をドロップした場合、そのメタデータとそのデータは Hive から削除されます。

次のスクリーンショットから、出力を確認することができます。

内部テーブル

上記のコードとスクリーンショットから、次のことを行います。

  • 内部テーブルを作成する
  • データを内部テーブルにロードします
  • テーブルの内容を表示する
  • 内部テーブルを削除するには

外部テーブル

  • 外部テーブルは本質的に疎結合です。 データは HDFS で利用可能になります。テーブルは HDFS データ上に作成されます。
  • 別の言い方をすれば、それが創造しているようにも言えます。 データのスキーマ.
  • テーブルの削除時にはスキーマのみが削除され、データは以前と同様に HDFS で引き続き使用できます。
  • 外部テーブルでは、スキーマが更新されるたびにデータを削除するのではなく、HDFS に保存されたデータに対して複数のスキーマを作成するオプションが提供されます。

外部テーブルを選択するのはどのような場合ですか?

  • HDFS で利用可能なデータを処理する場合
  • ファイルが Hive の外部で使用されている場合に便利です

外部テーブルのサンプル コード スニペット

1. 外部テーブルの作成

Hive>CREATE EXTERNAL TABLE guruhive_external(id INT,Name STRING)
	 Row format delimited
	 Fields terminated by '\t'
	 LOCATION '/user/guru99hive/guruhive_external;

2. テーブルの作成時に場所を指定しない場合は、データを手動でロードできます。

    Hive>LOAD DATA INPATH '/user/guru99hive/data.txt' INTO TABLE guruhive_external;

3. テーブルの内容を表示する

  Hive>select * from guruhive_external;

4. 内部テーブルを削除するには

  Hive>DROP TABLE guruhive_external;

次のスクリーンショットから、出力を確認することができます。

外部テーブル

上記のコードでは、次のことを行います。

  • 外部テーブルを作成する
  • データを外部テーブルにロードします
  • テーブルの内容を表示する
  • 外部テーブルを削除しています

内部テーブルと外部テーブルの違い

機能 内部 外部
スキーマ スキーマ上のデータ データのスキーマ
ストレージの場所 /usr/ハイブ/ウェアハウス HDFS の場所
データ可用性 ローカルファイルシステム内 HDFS内