把csv导入到hive表中步骤

本博文解决的问题:
现在我们有一个CSV格式的一个文件download.csv,里面是我们需要的数据,想把数据装入到数据impala数据库中

1.首先整理文本文件
打开download.csv,选择文件,另存为,保存类型:制表符分隔.txt

2.创建表

drop table if exists  test.cde_map_info_load;
CREATE TABLE test.cde_map_info_load (   sys_sign STRING COMMENT '系统标识',   sys_cn_name STRING COMMENT '系统名称',   srctab_cd STRING COMMENT '源表英文名',   srctab_name STRING COMMENT '源表中文名',   clmn_nm STRING COMMENT '字段英文名',   clmn_cn_nm STRING COMMENT '字段中文名',   srccde_cd STRING COMMENT '源代码值',   srccde_desc STRING COMMENT '源代码描述',   transfer_type STRING COMMENT '转换类型',   code_source STRING COMMENT '码值来源表',   code_source_rule STRING COMMENT '码值来源规则',   targtab_cd STRING COMMENT '目标代码编号',   targtab_name STRING COMMENT '目标代码编号描述',   targcde_cd STRING COMMENT '目标代码值',   targcde_desc STRING COMMENT '目标代码描述',   valid_sts STRING COMMENT '有效状态',   create_time STRING COMMENT '创建时间',   update_time STRING COMMENT '更新时间' ,code_load_type STRING )  
row format delimited
fields terminated by '\t'
STORED AS TEXTFILE;

 


3.将文件上传到本地路径下
/BIG_DATA/tmp/zw/newdir/a.txt


4.切换编码格式(文件中含有中文)
piconv -f gb2312 -t UTF-8 a.txt  >  b.txt


load data local inpath '/BIG_DATA/tmp/zw/newdir/b.txt' into table test.cde_map_info_load;


select * from test.cde_map_info_load limit 100;


如果存在分区,在插入分区表中
insert overwrite test.cde_map_info   select * from test.cde_map_info_load

posted @ 2020-05-29 10:43  醉城、  阅读(7118)  评论(0编辑  收藏  举报