柚子快報(bào)激活碼778899分享:大數(shù)據(jù) Hive的實(shí)操
柚子快報(bào)激活碼778899分享:大數(shù)據(jù) Hive的實(shí)操
1.數(shù)倉(cāng)和數(shù)據(jù)庫(kù)的區(qū)別
操作型處理(數(shù)據(jù)庫(kù)),它是針對(duì)具體業(yè)務(wù)在數(shù)據(jù)庫(kù)聯(lián)機(jī)的日常操作,通常進(jìn)行增刪改查操作。
分析型處理(數(shù)據(jù)倉(cāng)庫(kù)),通常進(jìn)行查詢分析操作,一般針對(duì)某些主題的歷史數(shù)據(jù)進(jìn)行分析,支持管理決策。
數(shù)據(jù)倉(cāng)庫(kù)主要特征:
面向主題的(Subject-Oriented) ??????集成的(Integrated)
非易失的(Non-Volatile) ???????????時(shí)變的(Time-Variant )
●數(shù)據(jù)庫(kù)是面向事務(wù)的設(shè)計(jì),數(shù)據(jù)倉(cāng)庫(kù)是面向主題設(shè)計(jì)的。
●數(shù)據(jù)庫(kù)一般存儲(chǔ)業(yè)務(wù)數(shù)據(jù),數(shù)據(jù)倉(cāng)庫(kù)存儲(chǔ)的一般是歷史數(shù)據(jù)。
●數(shù)據(jù)庫(kù)是為捕獲數(shù)據(jù)而設(shè)計(jì),數(shù)據(jù)倉(cāng)庫(kù)是為分析數(shù)據(jù)而設(shè)計(jì)
●數(shù)據(jù)庫(kù)設(shè)計(jì)是盡量避免冗余 ,數(shù)據(jù)倉(cāng)庫(kù)在設(shè)計(jì)是有意引入冗余,依照分析需求,分析維度、分析指標(biāo)進(jìn)行設(shè)計(jì)。
2.數(shù)倉(cāng)的分層架構(gòu)
(1)源數(shù)據(jù)層(2)數(shù)據(jù)倉(cāng)庫(kù)層(3)數(shù)據(jù)應(yīng)用層才培訓(xùn)專家
3.ETL和ELT
ETL: 先從數(shù)據(jù)源池中抽取數(shù)據(jù),數(shù)據(jù)保存在臨時(shí)暫存數(shù)據(jù)庫(kù)中(ODS)。然后執(zhí)行轉(zhuǎn)換操作,將數(shù)
據(jù)結(jié)構(gòu)化并轉(zhuǎn)換為適合目標(biāo)數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)的形式,然后將結(jié)構(gòu)化數(shù)據(jù)加載到數(shù)據(jù)倉(cāng)庫(kù)中進(jìn)行分析。
ELT: 從數(shù)據(jù)源中抽取后立即加載。沒(méi)有專門(mén)的臨時(shí)數(shù)據(jù)庫(kù)(ODS),這意味著數(shù)據(jù)會(huì)立即加載到單
一的集中存儲(chǔ)庫(kù)中,數(shù)據(jù)在數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)中直接進(jìn)行轉(zhuǎn)換,然后進(jìn)行分析
4.數(shù)據(jù)庫(kù)操作
? 創(chuàng)建數(shù)據(jù)庫(kù)
create database if not exists myhive;
use myhive;
? 查看數(shù)據(jù)庫(kù)詳細(xì)信
desc database myhive;
? 創(chuàng)建數(shù)據(jù)庫(kù)并指定hdfs存儲(chǔ)位置
create database myhive2 location '/myhive2';
? 刪除一個(gè)空數(shù)據(jù)庫(kù),如果數(shù)據(jù)庫(kù)下面有數(shù)據(jù)表,那么就會(huì)報(bào)錯(cuò)
drop database myhive;
? 強(qiáng)制刪除數(shù)據(jù)庫(kù),包含數(shù)據(jù)庫(kù)下面的表一起刪除
drop database myhive2 cascade;
5.數(shù)據(jù)庫(kù)和HDFS的關(guān)系
? Hive的庫(kù)在HDFS上就是一個(gè)以.db結(jié)尾的目錄
? 默認(rèn)存儲(chǔ)在:/user/hive/warehouse內(nèi)
? 可以通過(guò)LOCATION關(guān)鍵字在創(chuàng)建的時(shí)候指定存儲(chǔ)目錄
5.創(chuàng)建數(shù)據(jù)庫(kù)表語(yǔ)法
? EXTERNAL,創(chuàng)建外部表
? PARTITIONED BY, 分區(qū)表
? CLUSTERED BY,分桶表
? STORED AS,存儲(chǔ)格式
? LOCATION,存儲(chǔ)位置
6.內(nèi)部表和外部表
?
內(nèi)部表(
CREATE TABLE table_name ...
)
刪除內(nèi)部表:
直接刪除元數(shù)據(jù)和存儲(chǔ)的業(yè)務(wù)數(shù)據(jù)
創(chuàng)建內(nèi)部表:
create table [if not exists] 內(nèi)部表名(
字段名 字段類型 , ...
)...;
復(fù)制內(nèi)部表:
復(fù)制表結(jié)構(gòu):
CREATE TABLE 表名 like 存在的表名;
復(fù)制表結(jié)構(gòu)和數(shù)據(jù):
CREATE TABLE 表名 as select語(yǔ)句;
刪除內(nèi)部表:
drop table 內(nèi)部表名;
查看表格式化信息:
desc formatted 表名;
truncate清空內(nèi)部表數(shù)據(jù):
truncate table 內(nèi)部表名;
?
外部表(
CREATE EXTERNAL TABLE table_name ...
)
刪除外部表:
僅僅是刪除元數(shù)據(jù),存儲(chǔ)的業(yè)務(wù)數(shù)據(jù)并不會(huì)被刪除
創(chuàng)建外部表:
create external table [if not exists] 內(nèi)部表名(
字段名 字段類型 , ...
)...;
復(fù)制外部表:
復(fù)制表結(jié)構(gòu):
CREATE EXTERNAL TABLE 表名 like 存在的表名;
刪除外部表:
drop table 外部表名;
查看表格式化信息:
desc formatted 表名;
7.
查看表操作
查看所有表
:
show tables;
查看建表語(yǔ)句
:
show create table
表名
;
查看表結(jié)構(gòu)信息
:
desc
表名
;
查看表格式化信息
:
desc formatted
表名;
8.
修改表操作
修改表名
:
alter table
舊表名
rename to
新表名
;
修改表路徑
:
alter table
表名
set location 'hdfs
中存儲(chǔ)路徑
';
修改表屬性
:
alter table
表名
set tblproperties ('
屬性名
'='
屬性值
');
內(nèi)外部表轉(zhuǎn)換
?
內(nèi)部表轉(zhuǎn)外部表
alter table stu set tblproperties('EXTERNAL'='TRUE');
?
外部表轉(zhuǎn)內(nèi)部表
alter table stu set tblproperties('EXTERNAL'='FALSE');
通過(guò)stu set tblproperties來(lái)修改屬性
9.Hive
Hive映射表的流程步驟
創(chuàng)建表
加載數(shù)據(jù)
驗(yàn)證數(shù)據(jù)
Hive表指定字段間分隔符的語(yǔ)法
?
row format delimited fields terminated by '分隔符'
?Hive表中加載數(shù)據(jù)的語(yǔ)法
?
load data [local] inpath '數(shù)據(jù)文件路徑' into table 表名;
10.數(shù)據(jù)加載和導(dǎo)出
?
加載數(shù)據(jù)的語(yǔ)法
? LOAD DATA
[
LOCAL
]
INPATH
'filepath'
[
OVERWRITE
]
INTO TABLE
表名
;
? INSERT INTO|OVERWRITE TABLE 表名
SELECT...
?
導(dǎo)出數(shù)據(jù)的語(yǔ)法
? INSERT OVERWRITE [local] directory ‘
path
’
[format delimited] SELECT...;
? hive -f/-e 執(zhí)行語(yǔ)句或者腳本
>
文件名
柚子快報(bào)激活碼778899分享:大數(shù)據(jù) Hive的實(shí)操
精彩鏈接
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。