Azi*_*zik 1 scala tuples dataset apache-spark
我在删除元组数据集中的重复行时遇到麻烦 Dataset[(LeftDs, RightDs)]
试图像这样连接两个数据集:
val comparableDs = leftDs.joinWith(
rightDs,
fuzzyMatch(leftDs.col("name"), rightDs.col("officialName"))
)
Run Code Online (Sandbox Code Playgroud)
我想删除两个字段的重复项:
val resultDs = comparableDs.dropDuplicates("_1.name", "_2.officialName")
Run Code Online (Sandbox Code Playgroud)
但是得到这个错误:
Cannot resolve column name "_1.name" among (_1, _2);
这是以下内容的架构comparableDs
:
root
|-- _1: struct (nullable = false)
| |-- id: string (nullable = true)
| |-- name: string (nullable = true)
|-- _2: struct (nullable = false)
| |-- id: string (nullable = true)
| |-- category: string (nullable = true)
| |-- officialName: string (nullable = true)
Run Code Online (Sandbox Code Playgroud)
如何dropDuplicates
为该架构的方法编写列参数?
使用joinWith之后,获得的数据框只有两列。而且,Spark不支持为嵌套列删除重复项。
您可以使用join来使列变平,而不是joinWith,后者可以指定要dropDuplicates的列。
归档时间: |
|
查看次数: |
121 次 |
最近记录: |