大資料系列 之Hive DDL and DML

2021-09-29 22:18:06 字數 2554 閱讀 5911

hive定義了一套自己的sql,簡稱hql,它與關係型資料庫的sql略有不同,但支援了絕大多數的語句如ddl、dml以及常見的聚合函式、連線查詢、條件查詢。

ddl操作(資料定義語言)包括:create、alter、show、drop等。

(1)create database- 建立新資料庫

(2)alter database - 修改資料庫

(3)drop database - 刪除資料庫

(4)create table - 建立新錶

(5)alter table - 變更(改變)資料庫表

(6)drop table - 刪除表

(7)create index - 建立索引(搜尋鍵)

(8)drop index - 刪除索引

(9)show table - 檢視表

dml操作(資料操作語言)包括:load 、insert、update、delete、merge。

(1)load data - 載入資料

(2)insert into - 插入資料

insert overwrite - 覆蓋資料(insert … values從hive 0.14開始可用。)

(3)update table - 更新表(update在hive 0.14開始可用,並且只能在支援acid的表上執行)

(4)delete from table where id = 1; - 刪除表中id等於1的資料(delete在hive 0.14開始可用,並且只能在支援acid的表上執行)

(5)merge - 合併(merge在hive 2.2開始可用,並且只能在支援acid的表上執行)

注意:頻繁的update和delete操作已經違背了hive的初衷。不到萬不得已的情況,還是使用增量新增的方式最好。

create database 資料庫名

建立資料庫

desc/describe database 資料庫名

檢視資料庫表結構

drop database if exists 資料庫名

刪除資料庫

show tables;

檢視資料庫下存在的表

create table cat(cat_id string,cat_name string);

建立內部表

create external cat2(cat_id string,cat_name string);

建立外部表

create table cat4 like cat;

建立與cat結構一致的cat4表

desc cat;

檢視表結構

alter table cat2 add columns(group_id string,cat_code string);

修改表結構

drop table cat3;

刪除表select * from cat;

檢視表內容

先建立乙個cat_group,匯入內容以『\t

'劃分create

table

cat_group

(group_id

string

,group_name

string

)row

format

delimited

fields

terminated

by'\t'

stored

astextfile

;

load data local inpath 『本地檔案路徑』 into table cat_group;

從本地檔案匯入

load data inpath 『hdfs檔案路徑』 into table cat_group;

從hdfs上檔案匯入

insert into table cat_group2 select * from cat_group;

表與表之間匯入

insert overwrite table cat_group2 select * from cat_group;

匯入,覆蓋內容

create table cat_group3 as select * from cat_group2;

建立時從表匯入

insert overwrite local directory 『本地路徑』 select * from cat_group;

匯出到本地

insert overwrite local directory 『本地路徑』 select group_id,concat(』\t』,group_name) from cat_group;

匯出本地,並指定分割符

insert overwrite directory 『hdfs路徑』 select * from cat_group;

匯出到hdfs上

insert into table cat_group3 select * from cat_group;

表與表之間的匯出

待完善…

大資料系列之Flume 一

flume是乙個分布式的高可靠,可擴充套件的資料採集框架,在大資料工程中我們常常需要日誌進行分析獲取商業價值而flume就是採集多個不同的資料來源,交給資料處理程式同一執行。flume event 乙個資料集,是flume傳輸資料的基本單位 source 接收來自外部的flume event,有很多...

大資料系列之Zookeeper集群搭建

安裝前需要安裝好jdk 檢測集群時間是否同步 檢測防火牆是否關閉 檢測主機 ip對映有沒有配置tar zxvf zookeeper 3.4.5.tar.gz 修改環境變數 注意 3臺zookeeper都需要修改 vim etc profile.d zookeeper.sh export zookee...

大資料Sqoop系列之Sqoop匯入匯出資料

鏈結mysql資料庫url connect jdbc mysql 鏈結mysql資料庫使用者名稱 username root 鏈結mysql資料庫密碼 password 123456 鏈結mysql資料庫中的表 table tb1 設定map的個數 設定匯入到hdfs檔案所在的位置 target d...