Compartilhar via


Tabela Hive (herdada)

Importante

Esta documentação foi desativada e pode não estar atualizada.

Este artigo mostra como importar uma tabela do Hive do armazenamento em nuvem para o Azure Databricks usando uma tabela externa.

A Databricks não recomenda a utilização de tabelas Hive para armazenar ou organizar dados. Essa documentação é fornecida para ajudá-lo a configurar uma conexão com uma tabela Hive existente para migrar ou ingerir dados de um sistema externo.

Etapa 1: mostrar a instrução CREATE TABLE

Emita um comando SHOW CREATE TABLE <tablename> na linha de comando do Hive para ver a instrução que criou a tabela.

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')

Etapa 2: emitir uma instrução CREATE EXTERNAL TABLE

Se a instrução retornada usar um comando CREATE TABLE, copie a instrução e substitua CREATE TABLE por CREATE EXTERNAL TABLE.

  • EXTERNAL garante que o SQL Spark não exclua seus dados se você remover a tabela.
  • O campo TBLPROPERTIES pode ser omitido.
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>'

Etapa 3: emitir comandos SQL em seus dados

SELECT * FROM wikicc