三.數倉和普通資料庫區別
四.星型模型和雪花模型的區別
五.拉鍊表
一般情況下,將資料模型分為3層:
資料庫與資料長褲的區別實際講的是oltp和olap的區別
oltp特點如下
olap特點如下
簡單來說:
oltp
olap
使用者操作人員,底層管理人員
決策人員,高階管理人員
功能日常操作處理
分析決策
db設計
面向應用
面向主題
資料當前的,最新的細節的,二維的分立的
歷史的,聚集的,多維的,整合的,統一的
訪問讀寫數十條記錄
讀上百萬條記錄
工作單位
簡單的事務
複雜的查詢
使用者數上千個
上百萬個
db大小
100mb-gb
100gb-tb
時間要求
具有實時性
對時間的要求不嚴格
主要應用
資料庫資料倉儲
常用的etl工具:datastage,informatica,kettle
1.拉鍊表的使用場景
2.使用拉鍊表的原因
註冊日期
使用者編號
手機號碼
t_start_date
t_end_date
2017-01-01
001111111
2017-01-01
9999-12-31
2017-01-01
002222222
2017-01-01
2017-01-01
2017-01-01
002233333
2017-01-02
9999-12-31
2017-01-01
003333333
2017-01-01
9999-12-31
2017-01-01
004444444
2017-01-01
2017-01-01
2017-01-01
004432432
2017-01-02
2017-01-02
2017-01-01
004432432
2017-01-03
9999-12-31
2017-01-02
005555555
2017-01-02
2017-01-02
2017-01-02
005115115
2017-01-03
9999-12-31
2017-01-03
006666666
2017-01-03
9999-12-31
相關**如下
-- 我見青山多嫵媚,料青山見我應如是
-- 建立使用者拉鍊表
create
table
ifnot
exists user_his(
userid string,
username string,
phone string,
start_date string,
end_date string
)stored as textfile;
-- 建立使用者的更新表
create
table
ifnot
exists user_update(
userid string,
username string,
phone string
)stored as textfile;
-- 插入資料
insert
into
table user_his values
('1001'
,'zhangsan'
,'13066668888'
,'2020-09-01'
,'9999-12-31'),
('1002'
,'lisi'
,'13066669999'
,'2020-09-01'
,'9999-12-31'),
('1003'
,'wangwu'
,'13066667777'
,'2020-09-01'
,'9999-12-31');
insert
into
table user_update values
('1001'
,'zhangsan'
,'13056874895'),
('1002'
,'lisi'
,'13058478694');
truncate
table user_his;
-- 拉鍊表更新操作
insert overwrite table user_his
select
*from
(select*,
'2020-09-14' start_date,
'9999-12-31' end_date from user_update
union
allselect
uh.userid,uh.username,uh.phone,uh.start_date,
case
when uu.userid is
notnull
and uh.end_date=
'9999-12-31'
then
'2020-09-13'
else uh.end_date end end_date
from user_his uh
left
join user_update uu
on uh.userid=uu.userid) t;
大資料常見面試題之spark core
二.driver的功能 三.hadoop和spark都是平行計算,他們有什麼相同點和不同點 四.rdd 五.簡述寬依賴和窄依賴概念,groupbykey,reducebykey,map,filter,union都是什麼依賴?六.spark如何防止記憶體溢位 七.stage task 和 job的區別...
大資料常見面試題之kafka
四.kafka到sparkstreaming怎麼保證資料完整性,怎麼保證資料不重複消費?五.kafka的消費者高階和低階api區別 六.kafka怎麼保證資料消費一次且僅消費一次 七.kafka保證資料一致性和可靠性 八.spark實時作業宕掉,kafka指定的topic資料堆積怎麼辦 九.kafk...
大資料常見面試題之HBase
三.hbase的優化 四.hbase讀寫流程 五.rowkey如何設計避免熱點問題 六.hbase的最小儲存單位 七.hbase如何進行預分割槽以及作用 八.hbase中的hfile什麼時候需要合併成大檔案,什麼時候拆分成小檔案 九.為什麼hbase查詢比較快 1.表設計 2.寫表 3.讀表 hba...