Solución:
Crear tabla como selección (CTAS) es posible en Hive.
Puede probar el siguiente comando:
CREATE TABLE new_test
row format delimited
fields terminated by '|'
STORED AS RCFile
AS select * from source where col=1
- El destino no puede ser una tabla particionada.
- El destino no puede ser una mesa externa.
- Copia la estructura y los datos
Crear una tabla como también es posible en Hive.
- Simplemente copia la definición de la tabla de origen.
Digamos que tenemos una tabla externa llamada employee
hive> SHOW CREATE TABLE employee;
OK
CREATE EXTERNAL TABLE employee(
id string,
fname string,
lname string,
salary double)
ROW FORMAT SERDE
'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'
WITH SERDEPROPERTIES (
'colelction.delim'=':',
'field.delim'=',',
'line.delim'='n',
'serialization.format'=',')
STORED AS INPUTFORMAT
'org.apache.hadoop.mapred.TextInputFormat'
OUTPUTFORMAT
'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
LOCATION
'maprfs:/user/hadoop/data/employee'
TBLPROPERTIES (
'COLUMN_STATS_ACCURATE'='false',
'numFiles'='0',
'numRows'='-1',
'rawDataSize'='-1',
'totalSize'='0',
'transient_lastDdlTime'='1487884795')
-
Para crear un
person
mesa comoemployee
CREATE TABLE person LIKE employee;
-
Para crear un
person
mesa externa comoemployee
CREATE TABLE person LIKE employee LOCATION 'maprfs:/user/hadoop/data/person';
-
luego usa
DESC person;
para ver el esquema de tabla recién creado.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)