excel数据从windows导入hive

    xiaoxiao2022-07-12  139

    1、将excel对应表保存为txt文本(制表符分隔)

    2、将txt文件导入linux系统

    这里采用了工具secureCRT,该工具可以通过命令rz从windows系统快速导入文件

    [root@dthost27 ~]# rz

    需要注意,有时候txt文件在导入linux后会存在中文乱码的情况,可以执行下面这条命令:

    [root@dthost27 ~]# piconv -f gb2312 -t UTF-8 rule_code.txt > rule_code1.txt

    执行后,使用less或者cat命令查看txt文件时即可发现乱码问题已解决

    3、进入hive建表,并用load data local inpath命令导入表

    先在hive中,针对你所要存的表格的格式建表,注意数据类型,注意约束FIELDS TERMINATED BY ‘\t’ LINES TERMINATED BY '\n’分别指按制表符和换行符来读取数据

    ##建表语句 hive> create table rule_code( rule_code string, rule_name string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n' STORED AS INPUTFORMAT 'org.apache.hadoop.mapred.TextInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat';

    hive表导入txt数据,在hive环境下运行:(也可不分区)

    hive> load data local inpath '/root/rule_code1.txt' into table product_details_test partition(l_date='2019-01-30');

    至此,完成了从excel导入hive 的全部操作。

    最新回复(0)