SQL 為什麼不容易精通?自學 SQL 與實務應用的 4 個落差
儘管 SQL 的操作不難,但真實工作開展時還是會因為「取數」過程卡住。想要精通 SQL 仰賴大量的實務練習,Hahow 邀請邱國欣與你分享自學 SQL 與實務應用的 4 個落差。
對文章有興趣來不及看?點選右上角「橘色小書籤」
收藏文章,再也不怕錯過就是一輩子!
在執行數據分析工作時,我認為 SQL 才是首先要掌握的語言,但可能它是一個已經很久的語言,也比較樸實不搶眼,所以常常被忽略了。一直到這幾年,隨著許多前輩的分享,及越來越多學校開設了商業分析學程,大家對資料分析整個流程有更深的認識,也越來越多人會學習 SQL。
我是經濟背景,剛踏入數據分析師,其實也完全沒碰過資料庫,都是自學的,在自學的過程中我覺得:不難啊,滿簡單的。但真實工作開展中,我還是會在「取數」的過程卡住很久,而現在帶新人時,面試時我也都考過他們基本能力,但到實際工作中,還是有點慘不忍睹。
奇怪,明明看似不難啊,為什麼到工作中就沒法快速上手?
經過一陣子的思考,我發現 SQL 精通的過程,很依賴大量的實務練習,造成實務跟自學的落差,有以下原因:
落差一、只是在學語句,無法靈活運用
傳統的學習方式,一個單元就講解一個語句,基礎知識都是一步一步拆解完,這種學習方法不容易達到靈活運用的程度。因為工作中,數據的前處理,可能就包含聚合函數、join、 子查詢、各種函數等的組合,考驗綜合運用的能力,如何組裝每一步操作才是難點,但這部分知識目前市面上內容幾乎都沒講。
圖片來源:玩搖滾的數據人
落差二、案例缺乏商業場景
講解的案例,常見的有學生成績、電影排行數據,我可能學會了篩選數據可以用 WHERE子句,但在工作中,什麼場景要用到這個語句呢?我為什麼需要篩選?分析過程中用的遍地開花的 CASE WHEN 也只被簡單帶過。
落差三、數據量太小,無法訓練「數據敏感度」
分析開展前,通常會先對數據進行了解,例如數據是什麼格式,有沒有異常數據,數據分佈的情況,這些依賴我們的「數據敏感度」。但平台所提供的案例頂多幾百筆,我肉眼瞄兩下就看出來了。工作中,幾十萬、幾千萬、幾億筆的數據量比比皆是,也只有在這種大量數據的情況下,數據敏感度才有機會獲得一定程度的鍛鍊。
圖片來源:玩搖滾的數據人
落差四、實操環境的不足
親自動手永遠是練習寫程式最快的方法。
大多資源沒有線上環境可以實操,而可實操的網站 SQLbolt,提供的也多是小數據集、缺乏商業場景的數據,這又回到了上述提到的問題。
這邊想再延伸聊一下「分析平台」,不論 csv、關係數據庫,都是數據儲存的一個載體,但他們並不是為大數據而生的,隨著網路產業的發展,越來越多公司開始探索大數據應用,數據挖掘、數據分析與數據探索等關注度越來越高,也越來越多企業開始導入 hadoop 這套最主流的大數據架構。
這幾年常聽到的數據中台、乃至數據湖的概念,都是以 hadoop 為基礎的延伸。可以說,要成為優秀的數據工作者,Hadoop 是逃不開的知識,尤其是其中的數據倉庫工具 Hive 更是重要。
Hive 是 hadoop 生態系統非常重要的一個工具,它提供了一種類 SQL 的語言,可以查詢存儲在 Hadoop 分布式文件系統(HDFS)中的數據,也可以查詢 Hadoop 數據庫(Hbase)中的數據有能力的公司會自建 hadoop UI 平台,有的公司會用開源的 HUE,不論哪個,其背後的計算引擎、調度機制、集群管理都與傳統的關係數據庫有不小的差異,然而 hadoop 的部屬比較複雜,所以很難有機會練習到。
圖片來源:玩搖滾的數據人
Hue是一個開源的 Hadoop UI 系统,通過 Hue 我們可以在 Web 控制台與 Hadoop 進行進行交互處理數據。
看完文章要用時卻忘光光?點選下方按鈕
收藏此文章,我隨時都在這等你回來!
想知道更多從 SQL 入門數據分析的知識嗎?
Hahow 全新創作者專欄:入門數據分析:掌握 SQL 能力,發揮數據的商業價值 >> 立即探索
現在透過小蛙同學專屬連結註冊,馬上領價值 300 元購課金!更可免費試看超過 800 堂課程 ✨
▶ 入門數據分析,掌握 Hive SQL 取數能力
延伸閱讀
(本文原載於玩搖滾的數據人,原文標題為SQL不難啊,為什麼不容易精通?自學與實務的4個落差)