Hive插入数据

2023年1月15日11:27:53

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;

,然后查看结果得到:
Hive插入数据
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()

执行代码,运行程序后查询相关表,结果如图所示:
Hive插入数据

  • 作者:一度凡尘
  • 原文链接:https://blog.csdn.net/yidu_fanchen/article/details/77683122
    更新时间:2023年1月15日11:27:53 ,共 1015 字。