Hive插入資料

2021-08-07 13:06:40 字數 1642 閱讀 3042

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()

執行**,執行程式後查詢相關表,結果如圖所示:

Hive之插入資料

hive之插入資料 使用sql語句建立乙個表,如下 create table id int,name string,addr string t 1 新建乙個檔案test01.txt。並往其中寫入資料 vi test01.txt 1 gaoyuliang handong 2 houzi beijing...

hive 表插入 匯入資料

1 覆蓋現有分割槽資料,如果沒有該指定分割槽,新建該分割槽,並且插入資料 insert overwrite table 庫名.表名 partition dt 2018 09 12 name tom select from 庫名.表名 where.2 向現有的分割槽插入資料 之前的資料不會被覆蓋 in...

Hive 建表 插入資料 插入復合型別

新建hive表 create table test a timestamp b struct 下面可選 row format delimited fields terminated by t stored as parquet 檢視建好的表的結構 hive show create table tes...