The Alteryx Engine 101 基础篇

原文地址:https://community.alteryx.com/t5/Alteryx-Knowledge-Base/The-Alteryx-Engine-101-The-Basics/ta-p/405649

Author:MichaelIF

译:Lucia

这是一篇介绍作为Alteryx用户的您点下Alteryx的“Run”按钮后发生的一些奇妙的过程,这会让您更好的理解作为Alteryx designer/Server里的重要组成组件——Alteryx Engine,也更有助与更好理解如何更好利用安装Alteryx的机器资源,去理清以前所关于alteryx engine作用上的模糊概念。

接下来本文将图文并茂的展示利用Alteryx的机器资源的线程(Cores)和机器的缓存(Ram),展示执行任务的Alteryx Engine是如何将数据中的每个记录(Record)进行处理的示例。


2.Disk VS Ram

先声明一点,在硬盘上执行任务要比在缓存内执行任务要慢,这是在硬盘Disk上读写和缓存内读写的区别。因此Alteryx会先一次读一个硬盘记录到缓存中,循环到结束,用下面一个动态图来更好解释一下这个过程:


插入('Example_1.gif'.gif)

蓝色圆圈代表是硬盘中运行,红色圆圈代表缓存中运行(后面的图里也将是这样区别)

在这个动图中,记录1从硬盘读取到缓存,然后在缓存中执行Formula工具,然后通过Browse 工具将记录1结果释放到硬盘,旋即处理第2条记录,依次为之


2.多条分支下的工作流处理

如下面一张动图所示在这个水平视图里,再顶部的工作流分支会先将记录1缓存执行完formula第一个分支到硬盘,再执行下面一个分支,以此方式再处理第2条记录,依次为之,这样缓存会能得到更合理的利用。


插入('Example_2.gif'.gif)

3.排序和合并工具

最后我们要讲讲排序(Sort)和合并(Join)工具,不同于前面例子中的记录一条一条的在缓存中过,排序(Sort)和合并(Join)Alteryx Engine会需要一次性全部读取记录,自上而下按数据源顺序读入缓存,在执行Join操作前执行排序(Sort),再按照连接条件在对应逻辑的分支上写入结果

因为排序和合并需要占用比其他操作更多的缓存的缘故,我们可以通过Alteryx 的User Settings 来更改应用于排序和合并缓存大小



与排序和合并有相同缓存处理方式的还有一个 Block Until Done 工具,通过这篇理解Alteryx Engine,大家可以了解为什么有些工作流耗时会比期待时间要长,以及受此工作原理启发设计更好的工作流和利用好缓存吧!

Better specs = better Alteryx-ing = betterdata solving

你可能感兴趣的:(The Alteryx Engine 101 基础篇)