hive 資料操作(資料匯入匯出)

2021-08-28 12:05:52 字數 2535 閱讀 6707

load data [local] inpath 'hdfs://master:9000/xx/[文件]' [overwrite] into table 表

注意:如果表有分割槽,load data [local] inpath 'hdfs://master:9000/xx/[文件]'  [overwrite] into table 表 partition(year=2014,month=12)

從本地資料匯入hive中

create table t_name(name string,age int,*** string);

load data location inpath '/home/hadoop/logs/aaa.log' into table t_name;

從hdfs匯入資料到hive中

create table t_name(name string,age int,*** string);

load data inpath '/home/hadoop/logs/aaa.log' into table t_name;

匯入分割槽表:

load data location inpath '/home/hadoop/logs/aaa.log' into table t_name partiton(分割槽欄位名='分割槽字段內容');

通過查詢匯入資料

create table t_name(name string,age int,*** string);

insert into table t_name select a_name,a_age,a_*** from 資料庫名 group by 字段;

案例1:如果表有資料,刪除在插入

insert overwrite table 表名

[partition(year=2014,month=12)]  

select 子句

案例2:使用insert into追加記錄

hive>  insert into table mytemp

>  select empno,ename from emp limit 5;

向person表不同分割槽插入資料------靜態分割槽

from tp 

insert overwrite table person 

partition(xb='male') 

select * where ***='男' 

insert overwrite table person 

partition(xb='female') 

select * where ***='女' ;

動態分割槽插入

要求原始表有分割槽字段;

動態分割槽插入語句,會將原始表按分割槽在新錶中插入資料

語法:insert overwrite table 新錶(欄位名,不包含分割槽名)

partition(新錶分割槽字段)

select 原始表字段,別名.分割槽字段 from 原始表 

執行成功後,

會根據原始表分割槽欄位在新錶中按對應分割槽插入資料;

注意:動態分割槽要求在使用時必須設定set hive.exec.dynamic.partition.mode=nonstrict;

屬性。動態和靜態結合

語法:insert overwrite table 新錶 (欄位名,不包含分割槽名)

partition(靜態分割槽='初始值',動態分割槽名)

select 原始表字段,別名.對應靜態分割槽字段,別名.對應動態分割槽字段 from 原始表 別名

where 別名.靜態分割槽字段=初始值      

通過select子句建立新錶

語法 :

create table 新錶名稱

as select 列名,... from 源表;

總結:hive不支援行級別 更新,刪除

匯出hive表資料到本地目錄

語法:insert overwrite local directory '/本地路徑'  select 子句

insert [overwrit] local directory '本地路徑' select 欄位名..... from 表名 where 條件;

注意:匯出資料前目錄要存在;

將表中不同分割槽的資料匯出到本地不同的目錄下

from 源表

insert overwrite local directory '/本地目錄的絕對路徑'

select 欄位名  where  分割槽欄位1=值1

insert overwrite local directory '/本地目錄的絕對路徑'

select 欄位名  where  分割槽欄位1=值2

insert overwrite local directory '/本地目錄的絕對路徑'

select 欄位名  where  分割槽欄位1=值3

Python資料操作 資料清理

資料丟失在現實生活中是乙個問題。機器學習和資料探勘等領域由於資料缺失導致資料質量差,因此在模型 的準確性方面面臨嚴峻的問題。在這些領域,缺失值處理是使模型更加準確和有效的關鍵。現在來看看如何使用pandas庫處理缺失值 如na或nan 使用pandas庫處理資料中的缺失值 import pandas...

Excel操作資料1

生成excel的方法為呼叫本地office com元件,操作excel。新建專案後,新增對應office版本的microsoft.office.interop.excel 的引用,如圖 1 1所示。新增microsoft.office.interop.excel引用 為方便起見,這裡以乙個示例程式說...

MySQL基本操作 資料操作

刪除資料 更新字段 1.插入指定字段值 insert into 表名 字段列表 values 對應字段值列表 2.向表中所有字段插入資料 insert into 表名 values 按表結構寫對應資料 insert into my teacher values liwei 20 1.查詢表中全部資料...