繁体   English   中英

在HIVE中创建与其他表具有相同列的表?

[英]Create table in HIVE with same columns as another table?

我想从配置单元中另一个表的一些元数据创建表。 我正在使用蜂巢。

我从这个问题知道,元数据可以通过sql中的INFORMATION_SCHEMA.COLUMNS从表中检索:

HIVE是否具有对表元数据的类似访问权限,以允许我使用另一个表的列创建表? 本质上,我要复制一个没有所有元组的表。

到目前为止,这是我最好的事情:

create table <table_name>( (select <table_name> from INFORMATION_SCHEMA.COLUMNS)) row format delimited fields by '|';

您可以使用LIKE以便新表获得结构而不是数据。

Hive文档

CREATE TABLE yourtable
LIKE table2;

您可以尝试CTAS语法:

CREATE TABLE new_table_name
AS
SELECT *
FROM old_table_name
WHERE 1 = 2;

我相信这可以解决问题:

DROP TABLE IF EXISTS schema.New_Table;    
CREATE TABLE New_Table    
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\034' LINES TERMINATED BY '\012'
STORED AS TEXTFILE location '/IC/New_Table'   
AS   
select *   
from Old_Table;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM