一、有沒有遇到過問題,怎么進行解決的
1、空值問題
本質:hive底層存儲空數據使用\n《==》MySQL存儲空數據使用null
解決:雙向導入均分別使用兩個參數☆,之前講過
2、數據一致性問題
Hive ==》 MySQL
默認是4個map
2個成功,2個失敗
原則:數據可以沒有,但不能有錯誤
原因:數倉是為決策使用的
保證數據一致性的參數:--staging
3、ads層是parquet列式存儲/ORC ==》 導出到MySQL,能否導出成功
直接導入,不能成功
導入失敗,拋異常
解決:
parquet列式存儲/ORC ==》 textfile臨時表 ==》 MySQL
或:parquet列式存儲/ORC + 列式存儲的參數 ==》 MySQL
推薦:ads層不要建列式存儲表【一張表,每天一條數據】
4、sqoop每天向hdfs導入多少數據【舉一反三】
每天100w日活躍量,sqoop導入的業務數據
普通的日常消費品電商,10w條訂單,每人每天產生10條【業務數倉10條,行為數倉100條】
10w訂單*10條=1G數據量
5、面試官公司比較大,sqoop導入數據時,發生了數據傾斜【map分配不均勻】,如何解決
解決:nume-mappers,默認4個map,可以嘗試增加map數
或:按照某一列來切分表的工作單元,即通過ROWNUM(),生成一個嚴格均勻分布的字段

