我有以下Dataframe:
Dataframe1
+---------------+
|id_data |
+---------------+
|[1,20,3] |
|[5,40] |
|[50,90] |
|[30,70] |
+---------------+
id数据类型: array<integer>
```
Dataframe2
+---------------+
|id_data2 |
+---------------+
|20 |
|90 |
|100 |
+---------------+
我想要以下输出:
+---------------+
|id_data2 |
+---------------+
|20 |
|90 |
+---------------+
我是用 `join` ```
Dataset <Row> result = Dataframe2.as("data1").join( Dataframe1.as("data2"),expr("array_contains(data2.id_data,data1.id_data2)"));
我有大量的数据和它是非常沉重的性能方面。
没有任何可能做到这一点 join function
在java语言中使用spark?
我需要你的帮助。
1条答案
按热度按时间wixjitnu1#
你可以用
explode
功能。这是一个scala代码。