次の方法で共有


Hive テーブル

この記事では、外部テーブルを使用して、クラウド ストレージから Azure Databricks に 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