Leer en inglés

Compartir a través de


Tabla de Hive (heredada)

Importante

Esta documentación se ha retirado y es posible que no se actualice.

En este artículo se muestra cómo importar una tabla de Hive desde el almacenamiento en la nube a Azure Databricks mediante una tabla externa.

Databricks no recomienda usar tablas de Hive para almacenar o organizar datos. Esta documentación se proporciona para ayudarle a configurar una conexión a una tabla de Hive existente para migrar o ingerir datos desde un sistema externo.

Paso 1: Visualización de la instrucción CREATE TABLE

Emita un comando SHOW CREATE TABLE <tablename> en la línea de comandos de Hive para ver la instrucción que creó la tabla.

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

Paso 2: Emisión de una instrucción CREATE EXTERNAL TABLE

Si la instrucción que se devuelve usa un comando CREATE TABLE, copie la instrucción y reemplace CREATE TABLE por CREATE EXTERNAL TABLE.

  • EXTERNAL garantiza que Spark SQL no elimina los datos si se anula la tabla.
  • Puede omitir el campo 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>'

Paso 3: Emisión de comandos SQL en los datos

SELECT * FROM wikicc