使用 python 批量插入 hive
1.环境准备.
需要 python3.6 最好是安装anaconda
用anaconda navigator 安装这个 , 当然 , 纯 python环境下也能安装这个包
2. 插入hive 换个思路 , 直接插入到hive的表的仓库中 , 也就是hdfs上存储hive文件的地方
from hdfs.client import Client import time t1=time.time() client = Client("http://192.168.1.102:50070") s="100,1094,baumax,58" filepath="/user/hive/warehouse/hadoop.db/kk/t.txt" t1 = time.time() client.write(filepath, s,overwrite=False,append=True) print('OK') t2=time.time() print(t2-t1)
这里我使用的是追加 ,append , 我直接定位到了文件 , 可以添加到里面 , 当然 ,
这个HDFS client也是能建文件夹 , 建文件 , 不追加新建文件等等 ,
这只是一种了思路.
最后我去HDFS上看了下 t.txt 确实增加了一行 .
并且在hive的 select * from 表名 ,也能查到新加的
可以这样理解 , hive的表结构存储在mysql中 ,但是表数据存储在hdfs上 , 且定位是文件夹 ,只要把数据放进去
结论: 通过 LOAD DATA INPATH '' INTO TABLE
等同于 手动追加 hive的表文件所在的文件夹
使用注意: 理论上追加的大小是不做限制的 , 读取文件 ,追加就行 .