Поделиться через


Таблица Hive (устаревшая версия)

Внимание

Поддержка этой документации прекращена, она может больше не обновляться.

В этой статье описано, как импортировать таблицу Hive из облачного хранилища в Azure Databricks с помощью внешней таблицы.

Databricks не рекомендует использовать таблицы Hive для хранения или организации данных. Эта документация предоставляется для настройки подключения к существующей таблице Hive для переноса или приема данных из внешней системы.

Шаг 1. Отображение инструкции CREATE TABLE

Выполните команду SHOW CREATE TABLE <tablename> в командной строке Hive, чтобы просмотреть инструкцию, которая создала таблицу.

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 гарантирует, что SQL Spark не удалит данные при удалении таблицы.
  • Поле 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