我需要类似于 randomSplit 函数的东西:
val Array(df1, df2) = myDataFrame.randomSplit(Array(0.6, 0.4))
但是,我需要根据 bool 条件拆分 myDataFrame。是否存在类似以下内容?
val Array(df1, df2) = myDataFrame.booleanSplit(col("myColumn") > 100)
我不想做两个单独的 .filter 调用。
最佳答案
不幸的是,DataFrame API 没有这样的方法,要按条件拆分,您必须执行两个单独的 filter
转换:
myDataFrame.cache() // recommended to prevent repeating the calculation
val condition = col("myColumn") > 100
val df1 = myDataFrame.filter(condition)
val df2 = myDataFrame.filter(not(condition))
关于scala - 根据条件拆分 Spark DataFrame,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41960052/