次の方法で共有


LOAD DATA

適用対象: 「はい」のチェック マーク Databricks Runtime

ユーザーが指定したディレクトリまたはファイルから Hive SerDe テーブルにデータを読み込みます。 ディレクトリが指定されている場合、ディレクトリのすべてのファイルが読み込まれます。 ファイルが指定されている場合は、1 つのファイルのみが読み込まれます。 さらに、LOAD DATA ステートメントではオプションのパーティション指定を受け取ります。 パーティションを指定すると、データ ファイル (入力ソースがディレクトリの場合) または単一ファイル (入力ソースがファイルの場合) がターゲット テーブルのパーティションに読み込まれます。

テーブルがキャッシュされている場合、このコマンドは、テーブルのキャッシュされたデータとそのテーブルを参照するすべての依存をクリアします。 テーブルまたは依存が次回アクセスされるときに、キャッシュは遅れてフィルされます。

構文

LOAD DATA [ LOCAL ] INPATH path [ OVERWRITE ] INTO TABLE table_name [ PARTITION clause ]

パラメーター

  • path

    ファイル システムのパス。 絶対パスまたは相対パスのいずれかを指定できます。

  • table_name

    挿入先のテーブルを識別します。 名前には、 時仕様またはオプション指定を含めてはなりません。 テーブルが見つからない場合、Azure Databricks で TABLE_OR_VIEW_NOT_FOUND エラーが発生します。

  • PARTITION 句

    挿入のターゲット パーティションを指定する省略可能なパラメーター。 パーティションを部分的にのみ指定することもできます。

  • LOCAL

    指定された場合、INPATH は、通常は分散ストレージである既定のファイル システムではなく、ローカル ファイル システムに対して解決されます。

  • OVERWRITE

    既定では、新しいデータはテーブルに追加されます。 OVERWRITE を使用した場合、テーブルは新しいデータで上書きされます。

-- Example without partition specification.
-- Assuming the students table has already been created and populated.
> SELECT * FROM students;
      name                address student_id
 --------- ---------------------- ----------
 Amy Smith 123 Park Ave, San Jose     111111

> CREATE TABLE test_load (name VARCHAR(64), address VARCHAR(64), student_id INT) USING HIVE;

-- Assuming the students table is in '/user/hive/warehouse/'
> LOAD DATA LOCAL INPATH '/user/hive/warehouse/students' OVERWRITE INTO TABLE test_load;

> SELECT * FROM test_load;
      name                address student_id
 --------- ---------------------- ----------
 Amy Smith 123 Park Ave, San Jose     111111

-- Example with partition specification.
> CREATE TABLE test_partition (c1 INT, c2 INT, c3 INT) PARTITIONED BY (c2, c3);

> INSERT INTO test_partition PARTITION (c2 = 2, c3 = 3) VALUES (1);

> INSERT INTO test_partition PARTITION (c2 = 5, c3 = 6) VALUES (4);

> INSERT INTO test_partition PARTITION (c2 = 8, c3 = 9) VALUES (7);

> SELECT * FROM test_partition;
  c1  c2  c3
 --- --- ---
   1   2   3
   4   5   6
   7   8   9

> CREATE TABLE test_load_partition (c1 INT, c2 INT, c3 INT) USING HIVE PARTITIONED BY (c2, c3);

-- Assuming the test_partition table is in '/user/hive/warehouse/'
> LOAD DATA LOCAL INPATH '/user/hive/warehouse/test_partition/c2=2/c3=3'
      OVERWRITE INTO TABLE test_load_partition PARTITION (c2=2, c3=3);

> SELECT * FROM test_load_partition;
  c1  c2  c3
 --- --- ---
   1   2   3