Author:MichaelIF
譯:Lucia
這是一篇介紹作為Alteryx用戶的您點下Alteryx的“Run”按鈕后發(fā)生的一些奇妙的過程讼载,這會讓您更好的理解作為Alteryx designer/Server里的重要組成組件——Alteryx Engine蛇更,也更有助與更好理解如何更好利用安裝Alteryx的機器資源,去理清以前所關于alteryx engine作用上的模糊概念筋讨。
接下來本文將圖文并茂的展示利用Alteryx的機器資源的線程(Cores)和機器的緩存(Ram),展示執(zhí)行任務的Alteryx Engine是如何將數(shù)據(jù)中的每個記錄(Record)進行處理的示例摸恍。
2.Disk VS Ram
先聲明一點悉罕,在硬盤上執(zhí)行任務要比在緩存內執(zhí)行任務要慢,這是在硬盤Disk上讀寫和緩存內讀寫的區(qū)別立镶。因此Alteryx會先一次讀一個硬盤記錄到緩存中壁袄,循環(huán)到結束,用下面一個動態(tài)圖來更好解釋一下這個過程:
插入('Example_1.gif'.gif)
藍色圓圈代表是硬盤中運行媚媒,紅色圓圈代表緩存中運行(后面的圖里也將是這樣區(qū)別)
在這個動圖中嗜逻,記錄1從硬盤讀取到緩存,然后在緩存中執(zhí)行Formula工具缭召,然后通過Browse 工具將記錄1結果釋放到硬盤栈顷,旋即處理第2條記錄,依次為之
2.多條分支下的工作流處理
如下面一張動圖所示在這個水平視圖里嵌巷,再頂部的工作流分支會先將記錄1緩存執(zhí)行完formula第一個分支到硬盤萄凤,再執(zhí)行下面一個分支,以此方式再處理第2條記錄搪哪,依次為之靡努,這樣緩存會能得到更合理的利用。
插入('Example_2.gif'.gif)
3.排序和合并工具
最后我們要講講排序(Sort)和合并(Join)工具,不同于前面例子中的記錄一條一條的在緩存中過惑朦,排序(Sort)和合并(Join)Alteryx Engine會需要一次性全部讀取記錄兽泄,自上而下按數(shù)據(jù)源順序讀入緩存,在執(zhí)行Join操作前執(zhí)行排序(Sort)漾月,再按照連接條件在對應邏輯的分支上寫入結果
因為排序和合并需要占用比其他操作更多的緩存的緣故病梢,我們可以通過Alteryx 的User Settings 來更改應用于排序和合并緩存大小
與排序和合并有相同緩存處理方式的還有一個 Block Until Done 工具,通過這篇理解Alteryx Engine栅屏,大家可以了解為什么有些工作流耗時會比期待時間要長飘千,以及受此工作原理啟發(fā)設計更好的工作流和利用好緩存吧!
Better specs = better Alteryx-ing = betterdata solving