데이터 로드

적용 대상:검사 예 Databricks Runtime으로 표시됨

사용자가 지정한 디렉터리 또는 파일에서 Hive SerDe 테이블에 데이터를 로드합니다. 디렉터리를 지정하면 디렉터리의 모든 파일이 로드됩니다. 파일을 지정하면 단일 파일만 로드됩니다. 또한 문은 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 절

    삽입의 대상 파티션을 지정하는 선택적 매개 변수입니다. 파티션을 부분적으로만 지정할 수도 있습니다.

  • 로컬

    지정된 INPATH 경우 일반적으로 분산 스토리지인 기본 파일 시스템 대신 로컬 파일 시스템에 대해 이 확인됩니다.

  • 덮어쓸

    기본적으로 새 데이터가 테이블에 추가됩니다. 가 사용되는 경우 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