如何使用Java将Spark数据集的所有列转换为字符串 [英] How to cast all columns of Spark dataset to string using Java
本文介绍了如何使用Java将Spark数据集的所有列转换为字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的数据集有很多列,我想使用Java将所有列都转换为字符串.
I have a dataset with so many columns and I want to cast all columns to the string using Java.
我尝试了以下步骤,我想知道是否有更好的方法来实现这一目标?
I tried below steps, I want to know if there is any better way to achieve this?
Dataset<Row> ds = ...;
JavaRDD<String[]> stringArrRDD = ds.javaRDD().map(row->{
int length = row.length();
String[] columns = new String[length];
for(int i=0; i<length;i++){
columns[i] = row.get(i) !=null? row.get(i).toString():"";
}
return columns;});
推荐答案
您可以遍历列
:
for (String c: ds.columns()) {
ds = ds.withColumn(c, ds.col(c).cast("string"));
}
这篇关于如何使用Java将Spark数据集的所有列转换为字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文