Samsara v2.0 高级技巧
生活随笔
收集整理的這篇文章主要介紹了
Samsara v2.0 高级技巧
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?
高級技巧
Samrara包含四大概念:單流、多流、分流、合流。單流與多流(流量)
一張訂單主表包含4張訂單子表,那么主表就是單流、子表就是多流,有4條流。由于在腳本里面并沒有體現出數據的流量,那么此模塊需要運行幾次?生成多少結果?為了解決這些問題,引入了單流多流概念。
如果用戶輸入數據只有一條,則是單流,否則就是多流。
EXCHANGER TABLE1 E1
{COLUMN1 = TABLE2.COLUMN2}
TABLE1單流、TABLE2單流:正確
TABLE1單流、TABLE2多流:錯誤,無法匹配
TABLE1多流、TABLE2單流:正確,TABLE2將被運行多次
TABLE1多流、TABLE2多流:如果兩表流量一致則正確。
唯一能夠消除單流:多流錯誤的情況就是引入函數運算。
EXCHANGER TABLE1 E1
{
COLUMN1 = SUM(TABLE2.COLUMN2)
}
單流:多流。此時函數運算結果是一個值,所以正確。
流量如何判斷?
通過用戶輸入初始化流量。單流則使用流量標記-1,多流則從0開始排序。
模塊首先判斷處理的表對象是否單流,else 判斷表達式是否單流。
確定是單流后,凡是遇到需要引用多流對象,則默認其是參與函數運算,因此有多少引入多少。
確認是多流后,則需要根據流量標記進行引用。
如果用戶不輸入數據,全部由Loader產生怎么辦?
處理方法可以參考用戶輸入的情況,只是輸入的動作由samsara完成了。
分流與合流
當遇到Loader、Ifer、Switcher的時候會產生分流,此時需要特別考慮多流。
由于多流被流量標記標識,則分流之后,需要分離流量標識。可以認為分流后的模塊所有流量標識之和就是分流前的模塊。
分流后,所有多流數據會根據流量表示進行分離,保證后續單流引用多流的操作正確。
例如:
如果訂單主表的到貨數量?為 子表到貨數量==要貨數量的子表和。那么這個判斷就會產生分流,之后計算主表的要貨數量就是一個子集的求和。
轉載于:https://www.cnblogs.com/zc22/archive/2007/11/27/973403.html
總結
以上是生活随笔為你收集整理的Samsara v2.0 高级技巧的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【 Rust 基础】控制流 —— Rus
- 下一篇: 177本名著浓缩成了177句话!别等自己