是否可以做
create table <mytable> as select <query statement>
使用
row format delimited fields terminated by '|';
或做
create table <mytable> like <other_table> row format delimited fields terminated by '|';
“语言手册”似乎没有表明......但是我曾经在过去做过这件事。“/ p>
答案 0 :(得分:73)
在Hive中创建表格为选择(CTAS)。
您可以尝试以下命令:
CREATE TABLE new_test
row format delimited
fields terminated by '|'
STORED AS RCFile
AS select * from source where col=1
在Hive中也可以创建表格。
答案 1 :(得分:2)
假设我们有一个名为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')
创建person
表格,如employee
CREATE TABLE person LIKE employee;
创建person
外部表格,如employee
CREATE TABLE person LIKE employee LOCATION 'maprfs:/user/hadoop/data/person';
然后使用
DESC person;
查看新创建的表架构。
答案 2 :(得分:0)
以上提供的答案都可以。