使用流水線組合操作


在 DSS 工作流程中,SQL 流水線是一個混合多個後續配方(每個配方使用相同的 SQL 引擎)的過程。然後,可以執行包含這些整合配方的單個作業活動,這些配方可以是視覺化的和“SQL 查詢”配方。

通常,SQL 查詢將轉換為關係代數中的表示式,關係代數是一系列關係操作。如果我們一次執行一個操作,我們會產生過高的成本,因為我們需要在磁碟上建立臨時檔案來儲存這些臨時操作的結果。必須建立大型臨時檔案並存儲在磁碟上,但這需要時間,並且通常是不必要的,因為後續過程會立即使用這些檔案作為輸入。通常的做法是生成與查詢中特定操作組合的演算法相對應的查詢執行程式碼,以減少臨時檔案的數量。

示例

例如,一種具有兩個輸入檔案和一個輸出檔案的方法可以執行 JOIN 以及對輸入檔案的兩個 SELECT 操作和對結果檔案的最終 PROJECT 操作,而不是單獨實現這些操作中的每一個。我們只需應用該方法並獲得一個結果檔案,而不是建立四個臨時檔案。這就是流水線或基於流的處理的術語。

結論

為了執行多個操作,通常的做法是動態生成查詢執行程式碼。該程式碼由生成的程式碼生成,該程式碼包含與不同過程相對應的多種演算法。在操作之後,生成結果元組並將其用作其他操作的輸入。例如,如果兩個對基本關係的 SELECT 操作後跟一個 JOIN 操作,則每個 SELECT 操作生成的元組將被饋送到流或流水線中,並用作 JOIN 過程的輸入。

更新於: 2023年4月6日

391 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始
廣告