[英]How to implement groupby(column1,column2) in apache beam
[英]BigQuery: How do I check for every string element of column1 whether it is contained in column2?
我正在使用 BigQuery。 我的數據看起來像這樣,我從 Table1 和 Table2 開始:
表格1
Str1 |
---|
“一種” |
“乙” |
表2
ID | str2 |
---|---|
1個 | “車” |
2個 | “蘋果” |
3個 | “香蕉” |
4個 | “鮑勃” |
如何設計我的查詢以獲取 Table3?
如果在 Table2.Str2 中發現 Table1 的值為 substring,則它具有 Table2.id。
表3
一種 | b |
---|---|
1個 | 0 |
2個 | 0 |
3個 | 3個 |
0 | 4個 |
謝謝!
考慮以下方法
select * from (
select id, str1, regexp_contains(str2, str1) contained
from table2, table1
)
pivot (min(contained) for str1 in ('a', 'b'))
如果應用於您問題中的樣本數據 - output 是
如果您確實需要 output 看起來與您的問題完全一樣 - 請在下面使用
select if(a, id, 0) a, if(b, id, 0) b from (
select id, str1, regexp_contains(str2, str1) contained
from table2, table1
)
pivot (min(contained) for str1 in ('a', 'b'))
在這種情況下 - output 是
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.