Pular para o conteúdo principal

Tabela Hive (legado)

important

Essa documentação foi descontinuada e pode não estar atualizada.

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

A Databricks não recomenda o uso de tabelas Hive para armazenar ou organizar dados. Esta documentação é fornecida para ajudar o senhor a configurar uma conexão com uma tabela Hive existente para migrar ou ingerir dados de um sistema externo.

Etapa 1: mostre a declaração CREATE TABLE

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

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

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

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

  • EXTERNAL garante que o Spark SQL não excluirá seus dados se o senhor eliminar a tabela.
  • Você pode omitir o campo 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>'

Etapa 3: Emita SQL comando em seus dados

SQL
SELECT * FROM wikicc