我有一组数据显示用户、他们喜欢的水果集合和家乡:
Alice\tApple:Orange\tSacramento
Bob\tApple\tSan Diego
Charlie\tApple:Pineapple\tSacramento
我想创建一个猪查询,该查询将不同城市中喜欢某种水果的用户数量关联起来,其中对上述数据的查询结果如下所示:
Apple\tSacramento\t2
Apple\tSan Diego\t1
Orange\tSacramento\t1
Pineapple\tSacramento\t1
我不知道的部分是如何将拆分的水果行与同一行的其余数据交叉连接,所以:
Alice\tApple:Orange\tSacramento
变成:
Alice\tApple\tSacramento
Alice\tOrange\tSacramento
我知道我可以使用 TOKENIZE 将字符串“Apple:Orange”拆分为元组(“Apple”,“Orange”),但我不知道如何获得该元组与行的其余部分的叉积( '爱丽丝')。
我想出的一个蛮力解决方案是使用流通过外部程序运行输入集合,并处理“交叉连接”以在那里每行生成多行。
这似乎应该是不必要的。有更好的想法吗?