我有一个像这样的数据集:
我想按 Col1、Col2、Col3 对数据进行分组,并希望应用隔离林 按结果对该组进行排序。 如果 col3 值只是单个值,我可以应用隔离森林。 我想根据 groupBy 值将隔离森林应用于组。
你能帮我解决这个问题吗?
谢谢, PML
如果 col3 值只是单个值,我可以应用隔离森林。 我想根据 groupBy 值将隔离森林应用于组。
假设这里是 scala 并且这是一个 Spark 数据集,您只需 groupBy:
table.groupBy("COL1", "COL2", "COL3")
然后您需要进行聚合,这可能无法通过 SQL 操作完成。
一种可能的途径是从 RelationalGroupedDataset(从 groupBy 返回)转换为 KeyValueGroupedDataset:
table.groupBy("COL1", "COL2", "COL3").as[(String, String, String), Double]
现在您可以使用 mapGroups 对每个
(String, String, String)
组的值组实施操作。