使用 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的表文件所在的文件夹

 

使用注意:   理论上追加的大小是不做限制的 , 读取文件  ,追加就行 .

posted @ 2020-05-22 18:56  挪威森林猫Zzz  阅读(3239)  评论(0编辑  收藏  举报