馬哈魚間接資料流和偽列介紹

2022-09-20 09:18:10 字數 1594 閱讀 3777

本文介紹一些生成間接資料流的sql元素。間接資料流通常由where子句、group by子句、聚合函式等中使用的列生成。

為了在列之間建立間接資料流,我們引入了乙個偽列:relationrows。

relationrows是關係的偽列,用於表示關係中的行數。顧名思義,relationrows不是關係(表/結果集等)中的真正列。通常,它用於表示列和關係之間的資料流。relationrows偽列可用於源關係和目標關係。

以下述sql為例:

select a.empname "ename" from scott.emp a where sal > 1000
select列表的總行數受where子句中sal列的值影響;因此,間接資料流是這樣建立的:

scott.emp.sal -> indirect -> rs-1.relationrows
資料流圖示:

這裡是另乙個示例sql:

select count() totalnum, sum(sal) totalsal from   scott.emp
count()函式和sum(sal)函式的值受scott.emp源表中的行數影響。

scott.emp.relationrows -> indirect -> count()

scott.emp.relationrows -> indirect -> sum(sal)

資料流圖示:

relationrows還用於表示表級資料流。

alter table t2 rename to t3;
表級資料流不是建立在表上,而是建立在偽列relationrows上,如下所示:

t2.relationrows -> direct -> t3.relationrows
使用relationrows偽列構建表到表的資料流有兩個原因:

以這個sql為例

create view v1 as select f1 from t2;

alter table t2 rename to t3;

第一條create view語句將在表t2和檢視v1之間生成乙個列級資料流:

t2.f1 -> direct -> rs-1.f1 -> direct -> v1.f1
而第二個alter table語句將在表t2和t3之間生成表級資料流。

如您所見,表t2涉及create view語句生成的列到列的資料流,它還涉及alter table語句生成的表到表的資料流,上圖中的乙個表t2顯示,它既包括列到列的資料流,也包括表到表的資料流。

馬哈魚資料血緣分析器:

馬哈魚資料血緣分析器中文**:

馬哈魚直接資料流元素介紹

本文將介紹一些生成直接資料流的sql元素,這些元素是生產資料流的主要原型。示例語句 select a.empname ename from scott.emp a where sal 1000目標列 ename 的資料來自scott.emp.empname列,所以我們有這樣乙個直接的資料流 scot...

Kinect顯示彩色資料流和深度資料流

1.勾選computer color map 2.新建乙個rawimage,彩色資料流將顯示在這個rawimage上 3.編寫指令碼usekinectmanager public rawimage rawimage void update 4.執行後,是顛倒過來的,需要將scale中的y變成 1 1...

cbrgen和setdest資料流生成

資料流生成工具cbrgen用來產生傳輸負載,可以產生cbr流和tcp流。cbrgen的使用方法是,首先切換到 使用方法如下 ns cbrgen.tcl type cbr tcp nn nodes seed seed mc connections rate rate type 表示資料流的型別 nn ...