【问题标题】:Pyspark combine two large text filesPyspark 合并两个大文本文件
【发布时间】:2020-07-21 06:42:49
【问题描述】:

我有两个带有一些数据的大文本文件 file_1.txtfile_2.txt。我想将这些文件中的数据写入单个文件output.txt,格式如下:

file_1.txt数据:

header info 1
header info 2
.
.
.
header info n

file_2.txt数据:

body info 1
body info 2
.
.
.
body info n

output.txt数据:

header info 1
header info 2
.
.
.
header info n

body info 1
body info 2
.
.
.
body info n

使用 pyspark 或任何其他 python 模块最快的方法是什么?

编辑:

我使用的是 Windows 10

【问题讨论】:

  • cat file_1.txt file_2.txt > output.txt
  • 在 Linux 上你可以做 cat file1.txt file2.txt > output.txt 。至于我使用 pyspark 将一个文件附加到另一个文件过于复杂。
  • 谢谢大家,但我使用的是 Windows 10
  • 然后在 powershell 中 type file_1.txt file_2.txt > output.txt
  • 联合是最好的选择,只要确保你的列名相同

标签: python python-3.x pyspark


【解决方案1】:

这是一个 PySpark 实现。最快/最佳的连接实施取决于平台、文件大小、压缩方法。

您可以将文件读入单个 DataFrame。假设这两个文件都在some_folder

df = spark.read.text("some_folder")

df.repartition(1).write.text("some_output")

您也可以读入文件以分离 DataFrame,合并 DataFrame,然后写出结果。

df1 = spark.read.text("file1.txt")
df2 = spark.read.text("file1.txt")
unioned = df1.union(df2)
unioned.repartition(1).write.text("some_output")

【讨论】:

    猜你喜欢
    • 2017-01-29
    • 1970-01-01
    • 2015-12-05
    • 2019-02-06
    • 2014-05-07
    • 2012-04-15
    • 2011-12-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多