對于數據研發(ETL)同學或者數據分析(BI)同學來說,SQL語言是必須要會的,因為你需要對大量數據進行加工處理,得到自己想要結果數據。
對于大數據平臺開發或者大數據組件開發而言,會不會SQL都可以,平時主要使用Java語言來進行工程開發,對于SQL語言的使用,并不是太多,除了在查詢關系型數據庫中數據時,會進行使用。
什么是SQL
SQL,中文即結構化查詢語言,主要用于對數據的查詢、更新、刪除等操作。SQL是一種標準化語言,旨在降低開發同學的入門門檻,快速對數據進行處理。一般對于傳統的關系型數據庫用的比較多,比如查詢Mysql、Oracle數據庫中的數據等。
目前不僅僅傳統數據庫支持SQL,其實很多大數據組件也漸漸開始支持SQL,尤其是在數據倉庫方面,比如Hive,SparkSQL,FlinkSQL,Druid等等。支持SQL語言最直接的一個目的,就是提高開發效能。比如對于Flink組件,使用SQL你幾分鐘可能就將實時任務開發完成,但你如果使用其底層JavaAPI進行開發,可能幾天你都不一定能開發出來。
為什么數據研發或者數據分析需要學SQL
數據研發同學主要的工作就是對數據進行ETL,即對數據進行抽取(extract)、轉換(transform)、加載到數據存儲(load)。可以是對關系型數據庫,也可以是對數據倉庫的數據進行加工。為了保持數據處理標準統一,需要使用SQL語言來對數據任務進行開發。統一使用SQL有一個好處,就是使得數據研發同學不會對開發感到陌生。
數據分析同學由于需要在數據中發現商業價值的論點,所以需要經常對數據分析。而數據分析同學又不是專門的開發同學,精通開發,所以使用SQL語言,能夠降低其處理數據的難度。現在的數據庫以及其他數據倉庫都支持SQL語言,數據分析同學想要在數據中找到自己的觀點,必須要學習SQL語言的使用。
為什么大數據平臺或者組件開發不用學SQL
大數據平臺或者大數據組件開發,平時都主要使用Java或者C++語言開發。而SQL語言主要是在數據處理方面應用比較多,由于工作內容的側重點不同,所以大數據平臺或者組件開發可以不用學SQL,就能夠直接上手開發。
當然,在日常的項目開發中,或多或少都會接觸到數據庫方面的使用,當更新或者查詢數據庫中的數據時,會使用到SQL語言,個人建議開發同學還是掌握一下SQL,在面試的時候也是一個加分項,畢竟SQL語言使用起來也不難。
總結
在大數據領域,是否一定要學習SQL,最主要的還是要看你日常工作的內容,如果你平常和數據接觸比較多,主要就是對數據進行加工處理等,那么學習SQL語言你是跑不了的。但是,你平時主要工作就是使用Java進行開發,那學不學SQL對你沒有任何影響。