我对将特定列加载到配置单元中创建的表中感兴趣。是可以直接加载特定列,还是应该加载所有数据并创建第二个表来选择特定列?谢谢
llmtgqce1#
试试这个:
Insert into table_name ( # columns you want to insert value into in lowercase ) select columns_you_need from source_table;
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;
nimxete23#
是的,您必须像这样加载所有数据:
LOAD DATA [LOCAL] INPATH /Your/Path [OVERWRITE] INTO TABLE yourTable;
local表示文件在本地系统上,而不是hdfs中,overwrite表示表中的当前数据将被删除。因此,创建第二个仅包含所需字段的表并执行以下查询:
INSERT OVERWRITE TABLE yourNewTable yourSelectStatement FROM yourOldTable;
3条答案
按热度按时间llmtgqce1#
试试这个:
bis0qfac2#
建议在配置单元中创建一个外部表并Map您拥有的数据,然后创建一个具有特定列的新表,并使用createtableas命令
例如,语句如下所示
nimxete23#
是的,您必须像这样加载所有数据:
local表示文件在本地系统上,而不是hdfs中,overwrite表示表中的当前数据将被删除。
因此,创建第二个仅包含所需字段的表并执行以下查询: