【大數據面試】sqoop:空值、數據一致性、列式存儲導出、數據量、數據傾斜


一、有沒有遇到過問題,怎么進行解決的

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(),生成一個嚴格均勻分布的字段


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM