把Excel、CSV导入到HIVE中

把Excel、CSV导入到HIVE中


这里以Excel为例,csv与Excel类似

先把Excel导出为txt格式的文本文件

表如下显示,数据为真实数据已做处理:

身份证 姓名 性别 所在地 手机号码 单位名称
210504********131X 刘*鹏 海曙区 1365574**** 宁波市海曙****服装店
330203********2730 黄*明 海曙区 1560661**** 宁波市海曙**安装队
330203********1530 陈小* 江北区 1370574**** 宁波****有限公司
330203********2733 **云 海曙区 宁波市海曙****机械厂
330203********0317 姜永* 鄞州区 1595885**** 宁波市北仑区****有限公司

把表另存为txt格式:

把Excel、CSV导入到HIVE中_第1张图片

xxx.txt如下图
把Excel、CSV导入到HIVE中_第2张图片

这里需要注意两点:在保存文件的时候(这里推荐使用Notepad++)

  • 把编码改成UTF-8 - 点击【编码】-> 选择【UTF-8】
  • 把文档格式转换成Unix - 点击【编辑】-> 选择【文档格式转换】-> 选择【转为Unix】

你可以先不管这个,但是你还是会回来的。。。

把处理后的文件放到服务器上

​ 这里根据需求,把处理后的txt文件放到服务器上。

把Excel、CSV导入到HIVE中_第3张图片

这里笔者试用的SSH连接的Linux系统。

在hive中 建立相对应的表

​ 在hive环境下执行如下语句:

create table default.tmp_xzy ( 
    sfz STRING COMMENT '身份证', xm STRING COMMENT '姓名', 
    xb STRING COMMENT '性别', dylqd STRING COMMENT '待遇领取地',
    sjhm STRING COMMENT '手机号码',dwmc STRING COMMENT '单位名称'
    ) row format delimited 
    fields terminated by '\t' -- 列与列用 制表符 分割
    lines terminated by '\n' -- 行与行用 回车符 分割
    stored as textfile;

导入文件服务器中的txt文件

​ 在hive环境下执行如下语句把文本文件导入hive中:

load data local inpath '/home/xzy/xxx.txt' overwrite into table default.tmp_xzy;

查看数据,验证成果

​ 在hive环境下执行语句,查询数据。

select * from default.tmp_xzy

把Excel、CSV导入到HIVE中_第4张图片

​ 结果正确。

​ 如果乱码,请回去看保存txt的注意事项。

清除表数据

如果 出现问题 可以清除表的数据,以便重新导入数据;或删表重建。

-- 方法一
truncate table default.tmp_xzy; -- 清除表数据
-- 方法二
drop table default.tmp_xzy; -- 删表,重建

注意:这里不能使用delete

hive不支持 delete from 表名 where 1 = 1 ;

写在最后

打个小广告

如果对您有帮助,点个赞哟~

欢迎大家关注公众号【再喝最后一杯珍珠奶茶】。


把Excel、CSV导入到HIVE中_第5张图片

你可能感兴趣的:(hive,excel,大数据,excel导入hive,大数据,数据库)