hive小记(脱敏、分区)

小命令

查看文件的总行数

wc -l ./customer_details.csv 

在这里插入图片描述

查看文件的前两行

head -n 2 ./customer_details.csv

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

实例

脱敏

unbase64 脱敏
concat拼接后还能unbase64脱敏

create view if not exists vw_customer_details as
select
       customer_id,first_name,unbase64(last_name) as last_name,
       unbase64(email),gender,unbase64(address) as address,
       country,job,credit_type,unbase64(concat(unbase64(credit_no),'hello'))  as credit_no
from ext_customer_details;

分区

将表根据年月(yyyy MM)分区显示

创建分区表

create table if not exists transaction_details(
    transaction_id string,
    customer_id string,
    store_id string,
    price decimal(8,2),
    product string,
    purchase_date string,
    purchase_time date
)
partitioned by (purchase_month string);

导入数据


set hive.exec.dynamic.partition.mode=nonstrict;--开启分区

with basetb as
(select row_number() over(partition by transaction_id order by transaction_id) as rn,
       transaction_id,
       customer_id,
       store_id,
       price,
       product,
       purchase_date,
       purchase_time,
       substr(purchase_date,0,7) purchase_month --截取日期,只显示年月
from ext_transaction_details)
insert overwrite table transaction_details partition(purchase_month)--传入数据
select if(rn = 1,transaction_id,concat(transaction_id,'_fix',rn)) transaction_id,
       customer_id,store_id,price,product,purchase_date,purchase_time,purchase_month
from basetb;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值