資料倉儲的分層架構
資料倉儲分層的目的
數倉的三層架構
數倉的四層架構
etlhive概念
hive的互動方式
非易失性:資料進入數倉後,基本不會被修改
時變性:分析資料的手段(工具)可能會變
數倉的出現並不是要取代資料庫,數倉是在資料庫已經大量存在的情況下,為了進一步挖掘資料來決策而產生的,數倉絕不是「大型資料庫」。數倉和資料庫的區別實際上是olap
和oltp
的區別
數倉的四層架構是對三層架構中的dw層進行了細分
etl(抽取extra,轉化transfer,裝載load)是數倉的流水線,它維持著數倉的更新。
數倉從各個資料來源獲取資料、數倉內的資料轉換和流動都可以認為是etl.
hive的底層執行引擎有3種
缺點
元資料:metastore
hadoop
driver
編譯器(physical plan)
優化器(query optimizer)
執行器(execution)
使用者建立表時,建立hdfs和元資料庫metastore的對映
使用者執行select sql時通過解析器將sql語句轉化成抽象語法樹ast
解析器從metastore中拿到表資料資訊
經過編譯和優化後將轉化成可以執行的物理任務,如mr
提交給yarn集群執行
型別名稱
描述舉例
boolean
true/false
true
tinyint
1位元組的有符號整數
1smallint
2位元組的有符號整數
1int
4位元組的有符號整數
1bigint
8位元組的有符號整數
1float
4位元組單精度浮點數
1.0double
8位元組單精度浮點數
1.0string
字串(不設長度)
「abc」
varchar
字串(1-65355長度,超長截斷)
「abc」
timestamp
時間戳1563157873
date
日期20190715
型別名稱
描述舉例
array
一組有序的字段,字段型別必須相同 array(元素1,元素2)
array(1,2,3)
map一組無序的鍵值對 map(k1,v1,k2,v2)
map(『a』,1,『b』,2)
struct
一組命名的字段,字段型別可以不同 struct(元素1,元素2)
struct(『a』,1,2,0)
map型別欄位的元素訪問方式
struct型別欄位的元素訪問方式
create
table complex(
col1 array<
int>
, col2 map
int>
, col3 struct
,c:double
>
)
hive jdbc服務,需要乙個對hdfs
有操作許可權的使用者。用的比較多
(beeline支援兩種模式,內嵌和遠端。)
hive的命令,數倉搭建好後
使用-f
引數執行包含hql語句的檔案
HIVE 1 基礎操作。
建立新錶 hive create table t hive a int,b int,c int row format delimited fields terminated by t 匯入資料t hive.txt到t hive表 hive load data local inpath home co...
數倉工具 Hive初識 1
那麼,到底什麼是hive,我們先看看hive官網wiki是如何介紹hive的 apache hive是基於hadoop的乙個資料倉儲工具,可以將結構化的資料檔案對映為一張表,並且提供了通過sql 對儲存在分布式中的大型資料集的查詢和管理,主要提供以下功能 它提供了一系列的通過sql 訪問資料的工具,...
Hive 1 資料倉儲
資料倉儲 data warehouse dw dwh 資料倉儲的目的 構建面向分析的整合化資料環境。名字叫做data warehourse 資料倉儲 倉庫 主要用於儲存東西的,不會生產東西,也不會消耗東西 資料倉儲 不會產生任何的資料,也不會消耗任何的資料,只是用於儲存這些資料 主要用於分析性報告和...