码出个世界

导航

数仓取数流程

流程:excel表转换为csv、txt文件 ----->  csv、txt文件导入虚拟机(hue直接添加导入)------->  解决txt文件导入hive库乱码  --------->  写sql语句,两表进行关联  --------->文件导入,以excel格式

 

excel表转换为csv、txt文件:

直接转成txt文件更方便

excel转csv文件,在excel上查看,数据超过15位之后的部分会清零,但这不是说数据后几位会变成0,而是查看只能看前十几位的数字。用notepad打开就能看后后几位。

 

 

 文件导入虚拟机(hue直接添加导入):

其实不用再操作 load data inpath,直接新建好表之后,+号把txt文件添加到表文件里面。或者麻烦一点的:load data local inpath '/user/asiainfo/000.txt' into table odsdata.bs_operator 在query语句框里导入。

建表语句:

CREATE TABLE odsdata.bs_operator(
PROVINCES string COMMENT '省份',
REFER string COMMENT '简称',
CITIES string COMMENT '地市',
ORDER_NO string COMMENT '订单编号',
SITE_CODE string COMMENT '站址编码',
PROCESS string COMMENT '流程',
OPERATOR string COMMENT '运营商'
)COMMENT '运营商表'
row format delimited fields terminated by '\t'
stored as textfile;

这里注意,因为把txt文件导入到了表里面,所以stored as textfile

 

解决txt文件导入hive表乱码:

txt文件里的文件注意是utf-8格式,如果不是,另存为那个有编码格式。

 

 

写sql语句,两表进行关联:

select distinct B.provinces,B.REFER,B.CITIES, B.order_no, B.SITE_CODE,B.PROCESS, (case A.cust_company when '1001' then '移动' when '1002' then '联通' when '1003' then '电信' when '1004' then '广电' else ' ' end ) from mid.md_bs_request_info_mon A right join odsdata.bs_operator B ON B.order_no = A.request_id
order by B.order_no

关键:右连接、distinct去重、case when 

 

在hue上文件导出,以excel导出

 

posted on 2022-07-22 13:03  码出个世界  阅读(272)  评论(0编辑  收藏  举报