다음을 통해 공유


Hive 테이블(레거시)

이 문서에서는 외부 테이블을 사용하여 클라우드 스토리지에서 Azure Databricks로 Hive 테이블을 가져오는 방법을 보여 줍니다.

Databricks는 데이터를 저장하거나 구성하는 데 Hive 테이블을 사용하지 않는 것이 좋습니다. 이 설명서는 외부 시스템에서 데이터를 마이그레이션하거나 수집하도록 기존 Hive 테이블에 대한 연결을 구성하는 데 도움이 됩니다.

1단계: CREATE TABLE 문 표시

Hive 명령줄에서 SHOW CREATE TABLE <tablename> 명령을 실행하여 테이블을 만든 명령문을 확인합니다.

hive> SHOW CREATE TABLE wikicc;
OK
CREATE  TABLE `wikicc`(
  `country` string,
  `count` int)
ROW FORMAT SERDE
  'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'
STORED AS INPUTFORMAT
  'org.apache.hadoop.mapred.TextInputFormat'
OUTPUTFORMAT
  'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
LOCATION
  '<path-to-table>'
TBLPROPERTIES (
  'totalSize'='2335',
  'numRows'='240',
  'rawDataSize'='2095',
  'COLUMN_STATS_ACCURATE'='true',
  'numFiles'='1',
  'transient_lastDdlTime'='1418173653')

2단계: CREATE EXTERNAL TABLE 문 발행

반환되는 명령문이 CREATE TABLE 명령을 사용하는 경우 명령문을 복사하고 CREATE TABLECREATE EXTERNAL TABLE로 바꿉니다.

  • EXTERNAL은 테이블을 삭제할 경우 Spark SQL이 데이터를 삭제하지 않도록 합니다.
  • TBLPROPERTIES 필드를 생략할 수 있습니다.
DROP TABLE wikicc
CREATE EXTERNAL TABLE `wikicc`(
  `country` string,
  `count` int)
ROW FORMAT SERDE
  'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'
STORED AS INPUTFORMAT
  'org.apache.hadoop.mapred.TextInputFormat'
OUTPUTFORMAT
  'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
LOCATION
  '<path-to-table>'

3단계: 데이터에 SQL 명령 실행

SELECT * FROM wikicc