欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

如何将excel中的数据导入hive仓库中

程序员文章站 2022-08-13 13:49:50
如何将excel中的数据导入hive仓库中,将存放在excel表中的数据如何导入到hive中,首先前提是excel表中数据类型以及长度要和hive仓库中表的字段属性一致,否则会报异常。其次因为...

如何将excel中的数据导入hive仓库中,将存放在excel表中的数据如何导入到hive中,首先前提是excel表中数据类型以及长度要和hive仓库中表的字段属性一致,否则会报异常。其次因为建表的时候,已经定义了表的分割符号(row format delimited fields terminated by ‘,’),所以不能直接将excel表格中数据导入的hive仓库中。处理方式如下:

? ? ? ?先将excel表中数据另存转化为data.csv格式,转化为.csv格式的文件默认就是用“,”进行分割的,可以用notepad++打开data.csv格式查看。然后再讲数据导入到hive仓库中即可。但是执行如下导入语句时,发现报错,显示Wrong file format。

检查以后发现,因为在创建表格时,使用的是RCFILE存储格式

如何将excel中的数据导入hive仓库中

STORED AS ? INPUTFORMAT ? 'org.apache.hadoop.hive.ql.io.RCFileInputFormat'

? ? ? ? ? ? ? ? ? ? ?OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.RCFileOutputFormat'

而导入到是TextFile文件格式,所以报错,解决办法建表的格式默认使用TextFile格式即可。

如何将文件转化为rcfile文件格式:

(1)hive 中直接?通过textfile表进行insert转换,比如通过如下将textfile数据导入到rcfile中。

insert overwrite table http_RCTable partition(dt='2013-09-30') select p_id,tm,idate,phone from tmp_testp where dt='2013-09-30';
? (2)使用mapreduce将普通的文件压缩成RCFile,并且再读取RCFile文件。