我有一个包含以下数据的CSV文件:
1,2,5 2,4 2,3
我想将它们加载到具有数组字符串模式的Dataframe中
输出应如下所示。
[1, 2, 5] [2, 4] [2, 3]
这已在此处使用scala进行了回答: Spark:将字符串列转换为数组
我想让它在Java中实现。 请帮忙
以下是Java中的示例代码。您需要使用spark.read().text(String path)方法读取文件,然后调用split函数。
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(); } }