遇到的一些hive字符串处理 汇总

持续更新。。。

--取第一个顿号前面的所有字符

 split(new_occupy,'、')[0] as new_occupy

 

--替换

regexp_replace(occupy,',','、')

 

--hive不识别英文分号,输入报错问题 用\073

select cons_name,split(cons_name,'\073')[0] from WLH_TABLE_M11 where cons_name limit 10;

 

--截取分号与逗号之间的字符串

select cons_name,substr(cons_name,length(split(cons_name,'\073')[0])+2,(length(split(cons_name,',')[0])-length(split(cons_name,'\073')[0]))-1) from WLH_TABLE_M11 limit 10;

 

--删除分区

ALTER TABLE table_name DROP IF EXISTS PARTITION (inc_day='20180822');

 

--取日期对应的星期,第一个日期要为周日的日期

select pmod(datediff( '2018-08-29','2018-08-26'), 7)  from dual

 

--日期格式转换,例子为yyymmmdd转为yyyy-mm-dd

from_unixtime(unix_timestamp('20171205','yyyymmdd'),'yyyy-mm-dd') 

 

--时间需要修改,因为现在系统的时间是秒

select from_unixtime(cast(time_col/1000 as bigint),'yyyy-MM-dd HH:mm:ss') from table_name limit 10

注:to_date只能用于string类型 from_unixtime用于bigint

 

 

--查询

grep -ir "table_name/任务名称" --color

 

--调度

crontab -e

 

--上传

a.load data inpath  路径/wlh1.txt overwrite into table table_name

b.hadoop fs -put  wlh.txt /wlh.txt

c.例:将110主机上的文件夹 table_t3 传到本机的/data/log_data/目录下

   hadoop fs -get hdfs://路径/table_t3

   scp -r wlh@10.1.1.110:/wdir/wlh/table_t3 /data/log_data/

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值