python3处理dataframe数据存入hive数据库 | 您所在的位置:网站首页 › dataframe导入数据库 › python3处理dataframe数据存入hive数据库 |
hive数据库是基于HDFS的一个数据库,是对hdfs数据的一个映射关系。 注意:hive数据库存入数据的时候不建议使用insert into语句来进行插入,这样的的操作方式在效率上会很低效。 下面来说一下我的经历: 1、使用python3代码把数据存入数据库可以把数据写入csv或者txt文件中,使用分隔符分割(分隔符需要与hive进行映射的表分隔符一致) # Python3把数据写入csv 通过pandas来写入csv并指定分隔符号, df.to_csv(’路径/文件名.csv‘,index=None,header=False,sep='|') #sep是用来指定分隔符号的,默认是逗号 2、上面的操作会把dataframe输出到你指定的路径下,接下来就需要把它上传到hadoop的hdfs目录下。 3、首先要创建一张hive表,然后使用show create table 表名;进行查看表的location路径,如下图 4、确定好路径之后就是上传你的csv了,上传命令是: hdfs dfs -put 数据文件 table表名本地位置 5、如果想要在代码中操作也可以 import os os.system(hdfs dfs -put 数据文件 table表名本地位置) 如果是分区表的话上传数据需要用到: LOAD DATA local INPATH '/root/5.txt' INTO TABLE t_user partition(country='USA') #country是分区的字段 这样你的数据就可以上传到hive表的目录中,然后跟表产生映射关系。 其实hive表在hdfs中就是一个文件夹,然后文件夹中存放的就是数据,txt或者csv格式的都可以。 使用hive可以最大化的降低hdfs的学习成本。 |
CopyRight 2018-2019 实验室设备网 版权所有 |