gpt4 book ai didi

java - 如何在spark(java)中迭代数据集的所有列

转载 作者:太空宇宙 更新时间:2023-11-04 09:27:39 24 4
gpt4 key购买 nike

我有一个包含许多列(实际为 11000,但可能更多)和大约 40000 行的数据集。我想做的是将 UDF 应用于所有这些列(此 UDF 只是通过用字符替换列的字符串来缩短它们)。我的方法工作正常,但效率很低,因为我使用 for 循环来迭代所有列。是否有机会使用 foreach() 函数或类似函数来并行执行所有 11000 列?

        sqlContext.udf().register("replaceStringByChar", replaceStringByChar, DataTypes.StringType);


for (String c : ds.columns()) {
ds = ds.withColumn(c, functions.callUDF("replaceStringByChar", ds.col(c)));
}

最佳答案

我认为这样的东西应该有效

ds.columns().foreach(column -> {
System.out.println("Column" + column);
});

关于java - 如何在spark(java)中迭代数据集的所有列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57480310/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com