小编典典

将CSV数据加载到Dataframe中,然后使用Apache Spark(Java)转换为Array

java

我有一个包含以下数据的CSV文件:

1,2,5  
2,4  
2,3

我想将它们加载到具有数组字符串模式的Dataframe中

输出应如下所示。

[1, 2, 5]  
[2, 4]  
[2, 3]

这已在此处使用scala进行了回答:
Spark:将字符串列转换为数组

我想让它在Java中实现。
请帮忙


阅读 292

收藏
2020-11-26

共1个答案

小编典典

以下是Java中的示例代码。您需要使用spark.read().text(String path)方法读取文件,然后调用split函数。

import static org.apache.spark.sql.functions.split;

public class SparkSample {
    public static void main(String[] args) {
        SparkSession spark = SparkSession
                .builder()
                .appName("SparkSample")
                .master("local[*]")
                .getOrCreate();
        //Read file
        Dataset<Row> ds = spark.read().text("c://tmp//sample.csv").toDF("value");
        ds.show(false);     
        Dataset<Row> ds1 = ds.select(split(ds.col("value"), ",")).toDF("new_value");
        ds1.show(false);
        ds1.printSchema();
    }
}
2020-11-26