如何使用 Java 将文本文件作为一个字符串读入 Spark DataFrame
Posted
技术标签:
【中文标题】如何使用 Java 将文本文件作为一个字符串读入 Spark DataFrame【英文标题】:How to read a text file as one string into Spark DataFrame with Java 【发布时间】:2021-08-04 19:10:16 【问题描述】:我想创建一个文本文件的 DF,其中每一行代表一个名为 text 的列中的整个 txt 文件。
我尝试了以下方法,但我得到了一个 DF,其中文本由行分隔。
Dataset<Row> df = spark.read()
.textFile("resources/textfile.txt")
.toDF("text");
在 1 个文件的情况下,我有 70 行的 DF,而不是 1 行的 DF。
【问题讨论】:
【参考方案1】:您可以将数据框收集到一个数组中,然后将该数组连接到一个字符串:
import static org.apache.spark.sql.functions.*;
df.agg(collect_list("text").alias("text"))
.withColumn("text", concat_ws(" ", col("text")))
.show();
【讨论】:
以上是关于如何使用 Java 将文本文件作为一个字符串读入 Spark DataFrame的主要内容,如果未能解决你的问题,请参考以下文章