PatternSession


PatternSession()操作对输入数据集里每行数据的进行特征区域的标记。操作提供4个区域Local变量提供区域计算使用 ::exd_session_id (这个session的独特UUID), ::exd_session_num (这个session的独特顺序号), ::exd_session_size(这个session的行数), exd_session_rowid(这一行在session里的相对行数)。PatternSession与TumblingSession很像。PatternSession会过滤掉所有无至少一行数据满足inclusion条件的区域,而TumblingSession不会。

  • inclusion: (必需提供) STRING格式。标识特征区域的表达式,每一行数据对现有区域解析,如果结果为FALSE则开始一个新的区域。
  • selects: (必需提供) STRING格式。计算的表达式,例: wsum('field2'), wmax('field3'), wlast('field4', 1)...,多列以逗号分隔。
  • validity: (非必需) STRING格式。检查区域是否有效的Boolean表达式。TRUE为有效,默认值为空(所有区域都有效)。
  • reclaims: (非必需) BOOLEAN格式。是否将上个有效区域的末值带入下一个区域的解析。默认值为FALSE。如为TRUE,上一个区域带来的末值参与区域的计算,但是不会重复输出末值的一行。
  • endpoint: (非必需) BOOLEAN格式。是否将结束区域的非合法值带入区域计算。默认值为FALSE。如为TRUE,非合法值参与区域的计算,但是不会重复输出非合法值的一行。
  • keys: (非必需) STRING格式。 标识key对象的表达式,多列以逗号分隔。
  • sorts: (非必需) STRING格式。标识数据序列里用以排序的表达式。
  • mode: (非必需) STRING格式。标识计算结果是添加还是映射。支持值为'add'和'select'。 默认值为'select'。如果mode是'add',计算结果将会被加到每一行。
  • partitions: (非必需) INT格式。 分布式分区的数量(如果需要重新分布)。默认值为0(保持现有的数据分布)。