把数据灌到已有hive表里

0. 如果原来的表里有分区最好先把分区删掉。

    例如如果原来的表里有一个叫‘date’的分区,新灌入的数据里如果也有叫‘date’的分区,新数据灌入以后可能读不出来。

--在hive中操作
alter table table10_jin drop partition(tablename='alp',data_date='alp',part1='alp',part2='alp');

1. 更改原始数据的间隔:

sed -i 's/\t/\x01/g' nohead_samples_all_flag_new.txt

2. 用readlink命令直接获取$0参数的全路径文件名

readlink -f nohead_samples_all_flag_new1.txt

注:以下3-6需要在hive中操作。

3. 修改表/分区的文件格式

alter table table10_jin set fileformat textfile;

4.增加/替换列

增加或者替换列的语句如下,其中ADD COLUMNS在现有列之后但在分区列之前增加新列,REPLACE COLUMNS先删除现存列,然后再增加新列。

alter table table10_jin replace columns(
imei        string,
apply_date  string,
flag        string,
date        string);

5. 导入数据

把已经有的4个分区先用”alp“填充好。

load data local inpath '/data/rong/zhuli/common_fraud_model/nohead_samples_all_flag_new1.txt' overwrite into table table10_jin partition(tablename='alp',data_date='alp',part1='alp',part2='alp'); 

6. 修改表名

alter table table10_jin rename to alp_common_antifraud_samples;

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值