配置单元加载特定列

nbysray5  于 2021-06-04  发布在  Hadoop
关注(0)|答案(3)|浏览(252)

我对将特定列加载到配置单元中创建的表中感兴趣。
是可以直接加载特定列,还是应该加载所有数据并创建第二个表来选择特定列?
谢谢

llmtgqce

llmtgqce1#

试试这个:

Insert into table_name
(

# columns you want to insert value into in lowercase

)
select columns_you_need from source_table;
bis0qfac

bis0qfac2#

建议在配置单元中创建一个外部表并Map您拥有的数据,然后创建一个具有特定列的新表,并使用createtableas命令

create table table_name as select statement from table_name;

例如,语句如下所示

create table employee as select id as id,emp_name as name from emp;
nimxete2

nimxete23#

是的,您必须像这样加载所有数据:

LOAD DATA [LOCAL] INPATH /Your/Path [OVERWRITE] INTO TABLE yourTable;

local表示文件在本地系统上,而不是hdfs中,overwrite表示表中的当前数据将被删除。
因此,创建第二个仅包含所需字段的表并执行以下查询:

INSERT OVERWRITE TABLE yourNewTable 
yourSelectStatement 
FROM yourOldTable;

相关问题