hive导数有多种方式
- hdfs 导入
- 本地导入
这里主要讲本地导入
1.导出表
hive --outputformat=csv2 -e "select * from temp.temp_map_rec_points_poi_push" >> temp_map_rec_points_poi_push.csv
导出到csv 文件中
再传输文件到指定的节点上
2.导入表
load data local inpath '/tmp/temp_map_rec_points_poi_push.csv' into table asd;
3.常见导入问题,字段不对应问题
3-1.因为有些字段中有",",导致csv中字段对应有问题;在导入时候会报错文件不存在,但是文件肯定存在;
可以用hive 的字符串处理函数 regexp_replace(pids,',','_')替换掉;
3-2.导入表如果是分区表要加分区,不然也无法导入成功
3-3.一般hive存储数据类型是orc表;不能够直接导入,因此要先建一个临时表textfile类型的表,表结构与导入目标表结构一致只是store as textfile 不一样;
create table ("asd string","bsd string") STORED as textfile;
load data local inpath "/asd/asd.csv" into table asd;
网友评论