2021年4月5日 星期一

Azure Databricks的543

前言

轉眼間,Blog主已經在目前的公司待滿了兩年了,而因為我剛進來的時候,我的team就已經採用了Azure的系統,自然而然這兩年接觸不少Azure家的產品。一個我很常用的是Azure Data Factory(以下簡稱ADF),Blog主覺得是還蠻不錯的ETL服務...如果上手之後。

在純ADF裡面,想要做比較複雜的邏輯判斷會比較麻煩一點,簡單的If判斷,次數比較少的Loop都還可以(為什麼說次數比較少?因為在ADF裡,常跟ForEach配對使用的LookUp有容量跟row數限制),但要做比較複雜的任務的時候就很麻煩,上述的Loop次數問題不談,還有單一pipeline不能用多重Loop,想改用多重pipeline時,卻又無法回傳參數...等等問題(執筆當下,2021/04的情況)。

當然,Azure也有其他服務可以解決上述的問題,像是比較貼近ADF這種UI介面為主的Logic App,專門處理大量數據的Databricks,還有比較傳統,但自由度高很多的Azure Batch...等等。其中,目前Blog主比較愛用的就是Databricks,它算是處於上述三種服務的中間位置,不像Logic App那麼的純UI,基本上還是寫Code,但是編輯跟運行code又比Azure Batch快速跟方便很多,不用考慮太多系統建構的問題。以下就是這段時間下來,Blog主發覺在Databricks很常用到的,容易搞混的,還有意外方便的一些東西。