[ビッグデータ] Hiveテーブルに複数のデータを挿入する

複数のデータを Hive テーブルに挿入する

Hive では、INSERT INTO ステートメントを使用してテーブルにデータを挿入できます。複数のデータを挿入する必要がある場合、さまざまな方法があります。この記事では、Hive テーブルに複数のデータを挿入する方法と、対応するコード例を紹介します。

1. 単一の INSERT INTO ステートメントを使用して複数のデータを挿入します

最も簡単な方法は、単一の INSERT INTO ステートメントを使用して複数のデータを挿入することです。値のリストを使用すると、複数のデータを一度にテーブルに挿入できます。以下に例を示します。

INSERT INTO table_name
VALUES (value1, value2, ...),
       (value1, value2, ...),
       ...;

たとえば、employees従業員の名前と年齢のフィールドを含む名前のテーブルがあるとします。次のコードを使用して、複数のデータをテーブルに挿入できます。

INSERT INTO employees
VALUES ('John', 30),
       ('Alice', 25),
       ('Bob', 35);

2. INSERT INTO SELECT ステートメントを使用して複数のデータを挿入します。

もう 1 つの方法は、INSERT INTO SELECT ステートメントを使用して複数のデータを挿入することです。この方法により、別のテーブルまたはクエリ結果から複数のレコードを選択し、ターゲット テーブルに挿入できます。以下に例を示します。

INSERT INTO table_name
SELECT column1, column2, ...
FROM source_table
WHERE condition;

従業員の名前と年齢のフィールドを含む名前の一時テーブルがあるとしますemployees_temp次のコードを使用して、employees_tempテーブルからテーブルにデータを挿入できます。employees

INSERT INTO employees
SELECT name, age
FROM employees_temp;

3. LOAD DATA ステートメントを使用して複数のデータを挿入します。

データが既にファイルに保存されている場合は、LOAD DATA ステートメントを使用して、ファイル内の複数のデータを Hive テーブルにロードできます。以下に例を示します。

LOAD DATA [LOCAL] INPATH 'file_path'
[OVERWRITE] INTO TABLE table_name;

このうち、LOCALキーワードはfile_pathファイルのパスであるローカルファイルシステムからデータをロードすることを意味し、OVERWRITEキーワードはターゲットテーブルのデータを上書きすることを意味します。

たとえば、データ ファイル名がdata.txtHDFS/user/hive/data/ディレクトリに保存されていると仮定すると、次のコードを使用してファイル内のデータをemployeesテーブルにロードできます。

LOAD DATA INPATH '/user/hive/data/data.txt'
OVERWRITE INTO TABLE employees;

4. まとめ

この記事では、Hive テーブルに複数のデータを挿入するいくつかの方法 (単一の INSERT INTO ステートメントを使用する方法、INSERT INTO SELECT ステートメントを使用する方法、LOAD DATA ステートメントを使用する方法) について説明します。さまざまなニーズやデータ ソースに応じて、複数のデータを挿入する適切な方法を選択できます。この記事の内容がお役に立てば幸いです。

注: Hive は Hadoop 上に構築されたデータ ウェアハウス ツールであり、すべてのデータは Hadoop の分散ファイル システムに保存されます。INSERT INTO ステートメントまたは LOAD DATA ステートメントを実行する前に、データが準備されていて、Hadoop のファイル システムを通じてアクセスできることを確認してください。


参考:Hiveテーブルに複数のデータを挿入する

おすすめ

転載: blog.csdn.net/be_racle/article/details/132393682