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 TABLE
を CREATE 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