hive的資料操作

2021-09-02 04:35:24 字數 2175 閱讀 7401

1.向表中裝載資料

load data local inpath '$/california-employees'

overwrite into table employees

partition (country='us',state='ca');

2.通過查詢語句向表中插入資料

insert overwrite/into table employees

partition (country='us',state='or')

select * from staged_employees se

where se.cnty='us' and se.st='or';

全表掃瞄一次

form staged_employees se

insert overwrite table employees

partition (country='us',state='or')

select * where se.cnty='us' and se.st='or'

insert overwrite table employees

partition (country='us',state='ca')

select * where se.cnty='us' and se.st='ca'

insert overwrite table employees

partition (country='us',state='il')

select * where se.cnty='us' and se.st='il';

動態分割槽插入

insert into table employees

partition (country,state)

select ...,se.cnty,se.st

from staged_employees se;

靜態動態分割槽混合

insert into table employees

partition (country='us',state)

select ...,se.cnty,se.st

from staged_employees se

where se.cnty='us';

hive.exec.dynamic.partition

預設false,設定成true,表示開啟動態分割槽功能

hive.exec.dynamic.partition.mode

預設strict,設定成nostrict,表示允許所有分割槽都是動態的

hive.exec.max.dynamic.partitions.pernode

hive.exec.max.dynamic.partitions

預設+1000,乙個動態分割槽建立語句可以建立的最大動態分割槽個數

hive.exec.max.created.files

預設100000,全域性可以建立的最大檔案個數

3.單個查詢語句建立表並載入資料

create table ca_employees

as select name,salary,address

from employees se

where se.state='ca';

4.匯出資料

haddop fs -cp source_path target_path

insert overwrite local directory '/tmp/ca_employees'

select name,salary,address

from employees

where se.state='ca'

指定多個輸出資料夾目錄

from staged_employees se

insert overwrite directory '/tmp/or_employees'

select * where se.cty='us' and se.st='or'

insert overwrite directory '/tmp/ca_employees'

select * where se.cty='us' and se.st='ca'

insert overwrite directory '/tmp/il_employees'

select * where se.cty='us' and se.st='il';

hive資料操作

select from employees 在這種情況下可以簡單的讀取employees對應的儲存目錄下的檔案,然後輸出到格式化後的內容到控制台 對於where語句中的過濾條件只是分割槽字段這種情況 無論是否使用limit語句限制輸出記錄數 也無需mapreduce過程的 select from e...

hive資料操作

vi tb hive.txt 12 34 56 7 12 13 41 2 31 17 21 3 71 2 31 1 12 34 11 2 34 root namenode 82 hive w hive shell 建表結構 hive create table tb hive a int,b int,...

hive 資料操作

日常工作中,經常涉及到將本地檔案寫入hive表,已供查詢計算,或將hive表的資料匯出為本地檔案。1 第一步 建立hive 表 create table if not exists user.table user user id int act time string partitioned by ...