我想添加我的Linux系统名称,Linux当前系统日期,Linux当前时间到我的前三列,然后加载到他们各自的columns.Then我的最后一个表应该看起来像this.could任何人帮助我,请注意:这里的sys_name|sys_date|sys_time|列数据是从Linux系统导入,其余的列的数据是从数据集的实际数据。
select * from sample;
sys_name|sys_date|sys_time|column4|column5|column6|column7|column8|column9|
linux 2017-03-09 21:00 data4 data5 data6 data7 data8 data9
linux 2017-03-09 22:00 data4,4 data5,5 data6,6 data7,7 data8,8 data9,9发布于 2017-03-09 13:06:52
使用Alter table在#sample中添加列
ALTER TABLE #sample ADD sys_name VARCHAR(20) NULL, sys_date Date,some_name varchar(20) NULL; 发布于 2017-03-09 13:16:10
我假设您将从column4到column9的列放在一个单独的表中(如果没有,则在数据之上创建一个外部表),在这种情况下,您可以对select语句中的前三列进行硬编码,并使用下面的"insert using select“语句将数据装载到新表中
create table sample(
sysname string,
sysdate date,
some_name string,
column4 string,
.
.
column9 string)
rowfromat delimited
fields terminated by '|'
stored as textfile;
Insert into table sample select 'linux' as sysname, date(current_timestamp) as sys_date, 'name' as some_name, col4, col5, col6, col7, col8, col9 from original_tablehttps://stackoverflow.com/questions/42686966
复制相似问题