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...