给定两个表或Dataframe。其中一个将拥有数据集和相应的表。另一个将有源和目标。我需要解决以下问题:一旦找到ft.dataset=st.source,就需要替换st.source中的ft.table并忽略剩余的记录。
例如:在第二个表的第一个块中,即从序号1到6,我们在处有一个匹配项,因此我们用db.table1替换,而忽略了该块中剩余的记录。同样地,我们需要对第二个表的每个块执行相同的操作。注意,目标在第二个表的所有行中都是相同的。请帮我在Pypark或hive中找到一个可能的解决方案。
第一张table(英尺):
Dataset | Table
_________________
Abc db.table1
Xyz db.table2
Def db.table3
第二张table(st):
Target| seq_no| source
______________________
A 1 A
A 2 B1
A 3 C1
A 4 D1
A 5 Abc
A 6 Xyz
A 1 A
A 2 B1
A 3 C1
A 4 D1
A 5 Def
A 6 Abc
A 7 Xyz
预期产量:
Target| seq_no | source
_______________________
A 1 A
A 2 B1
A 3 C1
A 4 D1
A 5 db.table1
A 1 A
A 2 B1
A 3 C1
A 4 D1
A 5 db.table3
1条答案
按热度按时间gz5pxeao1#
在配置单元中,可以使用左联接在第一个表和窗口中搜索匹配项
min()
确定第一次匹配的顺序