1. 程式人生 > >大資料 SQL Boy 脫坑指南

大資料 SQL Boy 脫坑指南

不可否認的是 SQL 是一個偉大的發明,它讓增刪改查的操作更加地便捷化,而且 SQL 的學習成本相對其他程式語言來說較低,被逼到會寫 SQL 的運營和產品我都見過不少。。。

大資料行業跟 SQL 更是有不解之緣,可謂“萬物皆可 SQL 化”,從Hive/SparkSQL等最原始的最普及的 SQL 查詢引擎,到 Impala/Presto/ClickHouse/Kylin/Phoenix 等等 OLAP 引擎,再到流式的 Structured Streaming/Flink SQL/Kafka SQL,可見想徹底擺脫 SQL 是不可能的了,相比各式各樣的介面,複雜的規則,SQL 化成了一個簡單化的標誌,因為預設IT界人人都會 SQL,那就約等於人人都會使用這些複雜的工具,多美好。我想強調的是 SQL 是大資料從業者的必備工作技能,但是工作必須不能全是 SQL 。

1. 自動化

專職 SQL Boy 其實就像是在工廠裡工作的流水線工人,需求來了,噼裡啪啦一頓操作把SQL跑起來,把結果再丟給下游,再來個需求,再噼裡啪啦。。。如此迴圈往復。不知道大家有沒有感同身受,如果有的話我就問一句:工廠都知道要自動化,為什麼你還不明白呢?

取數需求是永無止境的且無趣的,而且很多都是重複的,運營產品等需求方大佬們有時候要看這個產品今天的資料,就風風火火來了個緊急需求,看完之後發現哦不對,今天還沒過完嘛,應該要看昨天的才對......

我:“&#@%!!”。

比這個還弱智的翻工原因估計還有很多,難道就這樣任由大佬們蹂躪嗎?你有沒有想過這種需求其實是可以抽象的,SQL 語句寫來寫去就那麼幾個詞,做這種需求就相當於是把自然語言人工翻譯成SQL語言,那麼這個翻譯的過程是不是能夠讓程式碼來代替呢。

簡單地給個建議,搞一套 OLAP 引擎,配合一個拖拽式的前端頁面,就可以丟給運營們去慢慢玩了。三言兩語說得很輕鬆,但是這其中的工作量是很大的,你需要花很多的時間在數倉的建設上,在平臺的選型/搭建/測試/運維上,在介面開發/除錯/對接上,最後因為自助分析不能夠覆蓋所有的需求,所有整個流程需要不停地優化和迭代,當然那些那些需要寫幾百行SQL才能解決的需求,可能還得你再想想辦法。

在建設這一套自助分析系統過程中,你不可避免地會接觸到更多的東西,元資料管理,資料治理,資料建模,Hadoop運維等等等等,恭喜你此刻你成功脫了SQL Boy的坑了,你需要把時間更多地花在上面說的那些事情中,雖然有點不道德但是你可以把 SQL Boy 這個榮譽稱號讓給新來的同事,可以把成百上千行的祖傳 SQL 傳遞給他們了。

2. 資料驅動

這個時候應該有人會想說“老子就是那個接了祖傳 SQL 的人”。。。別急,接著往下看。

如果你的 SQL 真的有成百上千行,那你應該要考慮你的資料倉庫建設的合理性了,如果你也剛好是個資料倉庫工程師,那應該是避免不了寫 SQL 的了,但是我的理解是這裡的 SQL 並不是上面提到的取數需求這種無趣無意義的 SQL,數倉的建設更多需要的是業務層面的理解,需要考慮更多的是如何能把資料的價值體現出來,很多業務方的需求其實是拍腦袋想出來的,要知道你是離資料最近的人,你也應當是對資料最熟悉的人,你應該是最能判斷資料如何展示是有意義的,以及如何讓自己的資料去發揮出最大的價值。

“資料驅動”是我很喜歡的一個詞,如果能真正地做到資料驅動業務,那你寫的SQL沒白寫,你是個SQL King,但真正能做到這樣的人是少之又少,這其實是技術與業務的一個結合,這個方向上不僅僅對技術有要求,更重要的是需要培養對業務的理解能力。

3. 資料探勘

其實很多的大資料開發,大資料分析,都是想往資料探勘的方向發展的,但很多人都覺得門檻太高,被自己嚇住了,不敢邁出嘗試的第一步,雖然說資料探勘入門會有一點門檻,但是其實並沒有大家想象得那麼難,高等資料,概率論,這些課程大家在大學應該都學過,大部分忘了沒事,基本的概念記得即可,但是重點是你得耐得住漫長學習過程的寂寞。

另外,演算法的工程落地是需要做很多開發類工作的,資料準備,介面開發等等,據我所知很多公司這些活都還是由資料探勘的人來做的,所以也許資料探勘師在演算法上很強,但是你在工程上是有優勢的,前兩天看了木東居士老師的一篇文章,印象最深刻的一句話是“錯位競爭”,轉行做資料探勘的想在學術上和別人硬碰硬是很難的,但是你有你的長處,你要把它發揮出來。

4. 結語

脫坑的方式其實有很多種,但是重點還是要看個人的自驅力,自己是不是真的在推動自己去脫坑了,還是隻是停留在口頭的抱怨。

另外,之前有幾個童鞋問過我有沒有資料探勘入門的視訊課程,不知道還有沒有需要的童鞋,有的話就關注下公眾號【大叔據】唄,人數的多話我去幫大家找找,找個高質量的過幾天發出來。

覺得有價值請關注 :公眾號「大叔據」

相關推薦

資料 SQL Boy 指南

不可否認的是 SQL 是一個偉大的發明,它讓增刪改查的操作更加地便捷化,而且 SQL 的學習成本相對其他程式語言來說較低,被逼到會寫 SQL 的運營和產品我都見過不少。。。 大資料行業跟 SQL 更是有不解之緣,可謂“萬物皆可 SQL 化”,從Hive/SparkSQL等最原始的最普及的 SQL 查詢

mysql千萬級資料SQL查詢優化

1.對查詢進行優化,應儘量避免全表掃描,首先應考慮在 where 及 order by 涉及的列上建立索引。 2.應儘量避免在 where 子句中對欄位進行 null 值判斷,否則將導致引擎放棄使用索引而進行全表掃描,如:select id from t where num

資料踩過的

1.jps有資料①瀏覽器輸入:(機器名):50070打不開,把使用者名稱替換成ip地址訪問②瀏覽器輸入:(ip地址):50070還打不開,關閉防火牆  service iptables stop

提高mysql千萬級資料SQL查詢優化

1.對查詢進行優化,應儘量避免全表掃描,首先應考慮在 where 及 order by 涉及的列上建立索引。 2.應儘量避免在 where 子句中對欄位進行 null 值判斷,否則將導致引擎放棄使用索引而進行全表掃描,如: select id from t where num is

資料SQL互動查詢 presto/spark/mapreduce 計算引擎對比

presto/spark/mapreduce 計算引擎對比 對比的表結構為146列, 15920816 行資料,資料壓縮前的大小15G。 對於執行語句的效率,單位秒 TextFile格式 執行的SQL presto spark mr SELECT COUNT

資料技術原理與應用 第二章 資料處理架構Hadoop 學習指南

本指南介紹Linux的選擇方案,並詳細指引讀者根據自己選擇的Linux系統安裝Hadoop。請務必仔細閱讀完廈門大學林子雨編著的《大資料技術原理與應用》第2章節,再結合本指南進行學習。Hadoop是基於Java語言開發的,具有很好跨平臺的特性。Hadoop的所要求系統環境適用於Windows,Linux,Ma

歡迎五湖四海博友來我園,查詢攻略(資料躺過的:博主強烈推薦)

 寫給來我園的各位博友們:   共同學習和交流,知識是討論和不斷主動自學、多思考出來的!   為了更方便大家對我部落格裡的精華博文的挖掘,快速查詢,我特,寫下此博文,來詳細圖文教程。   步驟二:輸入blog:zlslch CentOS 說明下,zlslch是我的部

如何走上更高平臺分享傳遞乾貨知識:(開通個人微信公眾號:資料躺過的)(圖文詳解)(博主推薦)

  不多說,直接上乾貨!    為了進一步打造提升(大資料躺過的坑)本微信公眾平臺的博文高質量水平,特邀請善於分享、主動、敢於專研嘗試新技術新領域的您,一起共同維護好我們的知識小天地。目前涉及領域有:大資料領域:Hadoop、Hive、HBase、Zookeeper、Flume、Sqoop、Ka

提高mysql千萬級資料SQL查詢優化30條經驗

轉自: http://www.jincon.com/archives/120/ 1.對查詢進行優化,應儘量避免全表掃描,首先應考慮在 where 及 order by 涉及的列上建立索引。 2.應儘量避免在 where 子句中對欄位進行 null 值判斷,否則將導致

分散式資料sql查詢引擎Presto初識

1、背景: Hive使用MapReduce作為底層計算框架,是專為批處理設計的。但隨著資料越來越多,使用Hive進行一個簡單的資料查詢可能要花費幾分到幾小時,顯然不能滿足互動式查詢的需求。Presto是一個分散式SQL查詢引擎,它被設計為用來專門進行高速、實時的資料分析。它

Angular 2 + 折騰記 :(7) 初步瞭解表單:模板驅動及資料驅動及要點

前言 表單在整個系統中的作用相當重要,這裡主要扯下響應表單的實現方式。 首先需要操作表單的模組引入這兩個模組; import { FormsModule, ReactiveFormsModule } from '@angular/forms';

雲端計算、資料、程式語言學習指南下載,100+技術課程免費學!

近年來,新技術發展迅速。網際網路行業持續高速增長,平均薪資水平持續提升,網際網路技

資料SQL語句

select *   from (select t1.id, t1.cust_stream, t1.srv_stream

畢業了,聊一聊計算機實驗室的指南

前文已經說過,你可以提前通過學長學姐諮詢實驗室的情況,來選擇自己心儀的實驗室,避免進入自己不喜歡的實驗室。那麼如果已經不小心進入到了自己不喜歡的實驗室怎麼辦,這裡提供一些有用的建議。 1.離開你所在的專案組或者離開你所在的實驗室 對,你沒看錯,就是離開。很多人可能會有疑問,我都已經進來了,怎麼出去啊!?Ar

Docker 代理指南

Docker 代理配置 由於公司 Lab 伺服器無法正常訪問公網,想要下載一些外部依賴包需要配置公司的內部代理。Docker 也是同理,想要訪問公網需要配置一定的代理。 Docker 代理分為兩種,一種是為執行的 Container 配置代理,用於下載一些依賴包以及訪問公網。另一種是為 Docker Daem

Microsoft SQL Server on Linux 踩指南

stat 自己 blog ext4 cat 宣傳 requires 日誌 主機 微軟用 SQL Server 在 2016 年的時候搞了一個大新聞,宣傳 Microsoft ?? Linux 打得一眾軟粉措手不及。但是這還是好事情,Linux 上也有好用的 SQL Ser

想入資料?必須要規劃學習路線

        乾貨走起,閒話不多說,以下就是小編整理的大資料學習思路 第一階段:linux系統 本階段為大資料學習入門基礎課程,幫大家進入大資料領取打好Linux基礎,以便更好的學習Hadoop、habse、NoSQL、saprk、storm等眾多技術要點。

《Hadoop 權威指南 - 資料的儲存與分析》學習筆記

第一章 初識Hadoop 1.2 資料的儲存與分析 對多個硬碟中的資料並行進行讀/寫資料,有以下兩個重要問題: 硬體故障問題。解決方案:複製(replication),系統儲存資料的副本(replica)。 以某種方式結合大部分資料來共同完成分析。MapReduce

資料Hive系列之Hive常用SQL

1. hive匯出資料到hdfs 語法:export table 表名 to '輸出路徑'; 例子:export table cloud.customer to '/tmp/hive/customer'; 2. beeline連線 $ beeline 語法:beeline> !