大資料09 Hive表的操作(未整理完)

2021-08-29 18:39:49 字數 2138 閱讀 1009

分桶表函式

hive shell的常用操作

create

table gfstbl(

id int

, name string,

age int

, gfs array

, address map

, info struct

)row format delimited

fields

terminated

by' '

collection items terminated

by','

map keys

terminated

by':'

lines

terminated

by'\n'

;location "/test"

//可以設定源資料的位置,若不設定預設就在hive的工作目錄區

describe

[extended

|formatted] table_name;

//extended;極簡的方式顯示

//formatted;格式化方式來顯示

例describe

extended gfstbl;

//預設就是extended

//只是建立表結構

create

table gfstbl1 like gfstbl;

//會建立相應的表結構,並且插入資料

create

table gfstbl2 as

select id,name,gfs,address from gfstbl;

insert方式

insert

into table_name values()

;

load方式

這種方式實際是將檔案剪下貼上到表的工作目錄區中

load

data

[local

] inpath "/路徑"

into

table table_name;

從其他表中查詢資料insert到新錶中

insert

into

table tablename1

[partition

(partcol1=val1, partcol2=val2 ...

)] select_statement1 from from_statement;

//習慣寫法將from提前

from from_statement

insert overwrite table tablename1

[partition

(partcol1=val1, partcol2=val2 ...

)[ifnot

exists

]] select_statement1

例from day_hour_table

insert

into rest

select

count(*

)from day_hour_table;

外部表在刪除時只會刪除表(即元資料),不會刪除hdfs上的源資料

create external table wc_external 

(word1 string,

word2 string)

row format delimited

fields

terminated

by' '

location '/test/external'

;//location可加可不加,不加location預設是在hive的工作目錄區

建立乙個檔案並輸入符合表的規則的資料,再將這個檔案複製到這個表的工作目錄區中,查詢該錶,發現表的資料量增多

用load data將工作目錄中的檔案再次新增新增到這個表中,發現表的資料量沒有增加

將檔案複製到hdfs上的其他目錄中,再次用load操作新增到表中,發現表中資料量增加,且原目錄中的檔案消失(即正常load操作,資料被剪下進表檔案中)

大資料 匯出Hive表中的資料

匯出hive表中的資料方式由很多種。一下就介紹一下 insert overwritelocaldirectory opt datas hive emp exp row format delimited fields terminated by t collection items terminate...

大資料從入門到實戰 Hive表DDL操作(二)

二 實踐詳解 叮嘟!這裡是小啊嗚的學習課程資料整理。好記性不如爛筆頭,今天也是努力進步的一天。一起加油高階吧!hive資料定義語言 date definition language 包括 create drop alter資料庫 create drop truncate表 alter 表 分割槽 列...

Hive的資料庫和表操作

一 hive資料庫操作 1.1 檢視資料庫 show databases 使用like關鍵字模糊匹配 顯示包含db 字首的資料庫名稱 show databases like db 1.2 使用資料庫 use database名稱1.3 建立資料庫 create database dbname 通過l...