メインコンテンツまでスキップ

Hive テーブル (レガシ)

important

このドキュメントは廃止されており、更新されない可能性があります。

この記事では、外部テーブルを使用してクラウド ストレージから Databricks に Hive テーブル をインポートする方法について説明します。

Databricks では、データの格納または整理に Hive テーブルを使用することはお勧めしません。 このドキュメントは、既存の Hive テーブルへの接続を構成して、外部システムからデータを移行または取り込むのに役立つように提供されています。

ステップ 1: CREATE TABLE ステートメントを表示する

Hive コマンドラインで SHOW CREATE TABLE <tablename> コマンドを発行して、テーブルを作成したステートメントを確認します。

SQL
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 フィールドは省略できます。
SQL
DROP TABLE wikicc
SQL
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 コマンドを発行する

SQL
SELECT * FROM wikicc