Hive插入数据

1、创建完表之后,就可以插入数据了,在hive中,一般使用LOAD DATA插入数据,数据来源一般为两种,一种是从本地文件系统,第二种是从hadoop文件系统。基本语法如下:

LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename[PARTITION (partcol1=val1,partcol2=val2,…)]

LOCAL是标识符指定本地路径,它是可选的;
OVERWRITE 是可选的,覆盖表中的数据;
PARTITION 也是可选的。
测试:
将下列数据插入到employee表中,数据格式为每个字段中间使用tab分割,每行使用回车,存储到一个txt文件中,

1201    Gopal   45000   Technical manager
1202    Manisha 45000   Proof reader
1203    lisong  50000   what is you
1204    xiaohau 88888   abcdefg
1205    xiaoming        99999   hehehehe

执行导入语句:

LOAD DATA LOCAL INPATH '/home/hadoop/HivePy/employee.txt' OVERWRITE INTO TABLE userdb.employee;

,然后查看结果得到:
这里写图片描述
2、使用python操作hive,插入数据,代码如下:

# coding:utf-8
from pyhive import hive
from TCLIService.ttypes import TOperationState

# 打开hive连接
hiveConn = hive.connect(host='192.168.83.135',port=11111,username='hadoop')
cursor = hiveConn.cursor()

# 执行sql语句
sql = ''' LOAD DATA LOCAL INPATH '/home/hadoop/HivePy/employee.txt' OVERWRITE INTO TABLE userdbbypy.employee '''
cursor.execute(sql, async=True)

# 得到执行语句的状态
status = cursor.poll().operationState
print "status:",status

# 关闭hive连接
cursor.close()
hiveConn.close()

执行代码,运行程序后查询相关表,结果如图所示:
这里写图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值