Hive簡易教程 - 資料儲存
hive是hdfs上的資料倉儲,能夠將一個個大檔案有效地管理起來,並對其進行統計分析。資料倉儲看待資料的方式與常見的資料庫是完全不同的,它的最小粒度是檔案而不是單條資料。hive一般在hdfs上的路徑為/user/hive/warehouse,而hive中的資料庫(如demo)的路徑就是/user/hive/warehouse/demo.db,在往下就是表的路徑如:/user/hive/warehouse/demo.db/test。管理hive上的資料分為兩部分:定義資料以及操縱資料。
基本命令
切換資料庫:use 資料庫名;
顯示當前資料庫中的所有變:show tables;
檢視錶結構:desc 表名;
檢視建表語句:show create table 表名;
資料定義語句(DDL)
建立表
完整語句
CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS] [db_name.]table_name -- (Note: TEMPORARY available in Hive 0.14.0 and later)
[(col_name data_type [COMMENT col_comment], ... [constraint_specification])]
[COMMENT table_comment]
[PARTITIONED BY (col_name data_type [COMMENT col_comment], ...)]
[CLUSTERED BY (col_name, col_name, ...) [SORTED BY (col_name [ASC|DESC], ...)] INTO num_buckets BUCKETS]
[SKEWED BY (col_name, col_name, ...) -- (Note: Available in Hive 0.10.0 and later)]
ON ((col_value, col_value, ...), (col_value, col_value, ...), ...)
[STORED AS DIRECTORIES]
[
[ROW FORMAT row_format]
[STORED AS file_format]
| STORED BY 'storage.handler.class.name' [WITH SERDEPROPERTIES (...)] -- (Note: Available in Hive 0.6.0 and later)
]
[LOCATION hdfs_path]
[TBLPROPERTIES (property_name=property_value, ...)] -- (Note: Available in Hive 0.6.0 and later)
[AS select_statement]; -- (Note: Available in Hive 0.5.0 and later; not supported for external tables)
- hive可以建立臨時表[temporary],臨時表在當前會話結束時(如關閉hive客戶端)會被自動刪除。
- hive可以外部的對映表[external],即hive並不將這些資料儲存在自己的hdfs路徑中,而只儲存表的後設資料。這樣hive便可訪問更多的資料來源,如hbase。
- hive可以直接將select語句的結果儲存為一個表:create table t2 as select * from t1;
- hive的基本單元是檔案,那麼在建立表的時候可以指定檔案中每行資料的分隔符,即按該分割符分割後即為表的各列:create table t(c1 string, c2 string) row format delimited fields terminated by '\t'。
- hive中的表就是hdfs上的一個路徑,在建立表時可以在其下繼續建立檔案目錄,這樣的好處就是在查詢時可以只訪問一些指定的目錄來提高效能。create table t1(id string) partitioned by (year string, month string),這樣t1路徑下就是year的資料夾,而year的每個值路徑下還有month資料夾,如圖所示:
修改表
表重新命名:alter table 原表名 rename to 新表名
刪除分割槽:alter table xx drop partition (xx='')
資料操縱語言(DML)
載入資料
1)從本地載入: load data local inpath 'data/t1' into table t1;
2)從HDFS轉移:load data inpath '/user/hive/project/data1' into table xxx;
相關文章
- Hive之 資料儲存Hive
- 掌握Hive資料儲存模型Hive模型
- flume日誌採集,hbase資料儲存,hive查詢輸出(簡單整合)Hive
- Hive之儲存格式Hive
- Hive的壓縮儲存和簡單優化Hive優化
- Hive -------- 使用mysql儲存hive後設資料,Mysql的安裝以及配置步驟HiveMySql
- 大資料元件-Hive部署基於MySQL作為後設資料儲存大資料元件HiveMySql
- hive檔案儲存格式Hive
- MySQL資料庫儲存引擎簡介MySql資料庫儲存引擎
- 簡單分析oracle的資料儲存Oracle
- Oracle大物件資料儲存簡介Oracle物件
- 分散式資料恢復-hbase+hive分散式儲存資料恢復方案分散式資料恢復Hive
- 工良出品:包教會,Hadoop、Hive 搭建部署簡易教程HadoopHive
- 資料儲存--檔案儲存
- 資料儲存
- hive資料倉儲匯入資料的方法Hive
- 資料儲存(1):從資料儲存看人類文明-資料儲存器發展歷程
- Docker最全教程——資料庫容器化之持久儲存資料(十一)Docker資料庫
- flutter簡易教程Flutter
- nginx簡易教程Nginx
- Hive:資料倉儲構建步驟Hive
- 資料儲存:CoreData
- iOS 資料儲存iOS
- IOS資料儲存iOS
- 好程式設計師大資料培訓分享之hive儲存過程程式設計師大資料Hive儲存過程
- 好程式設計師大資料學習路線之hive儲存格式程式設計師大資料Hive
- 簡易資料結構資料結構
- Flutter持久化儲存之資料庫儲存Flutter持久化資料庫
- 資料儲存--面向列的儲存設計
- 資料儲存(歸檔解檔,沙河儲存)
- Flutter 動畫簡易教程Flutter動畫
- Solidity 簡易教程Solid
- syncthing 簡易教程
- 聚焦資料時代新儲存需求,浪潮儲存的新儲存之道
- 一、HIVE基本語法:建立資料倉儲Hive
- 資料儲存-領存高速海量資料記錄儲存模組產品介紹
- python 簡易微信實現(註冊登入+資料庫儲存+聊天+GUI+檔案傳輸)Python資料庫GUI
- SRAM資料儲存原理