我有2个数据帧,其中df1具有列key1,而df2具有列key2。在这里,列key1包含“兵工厂票”,“婴儿勺”的值,列key2包含“宝贝s”,“票”的值
我在下面的解决方案中使用了该解决方案,但没有得到预期的结果:
var filterdf = df1.join(df2, $"key1".contains($"key2"))
filterdf.show
结果:
+--------------------+----------------+
| key1|key2 |
+--------------------+----------------+
| baby spoon| baby s|
| arsenal tickets| tickets|
+--------------------+----------------+
预期结果应如下所示,不应包含“婴儿勺”。它应该与确切的单词顺序匹配,且没有多余的文字。
+--------------------+----------------+
| key1|key2 |
+--------------------+----------------+
| arsenal tickets| tickets|
+--------------------+----------------+
我该怎么做才能获得预期的结果?
答案 0 :(得分:0)
您可以包含Trim()函数,以在传递df2时删除空格,即
var filterdf = df1.join(df2, $"key1".contains(trim($"key2")))
filterdf.show