【发布时间】:2017-12-16 19:52:56
【问题描述】:
我是 pyspark 的新手,我正在尝试读取 RDD 行并将其合并为一行。
假设我有以下文本文件:
A1 B1 C1
A2 B2 C2 D3
A3 X1 YY1
DELIMITER_ROW
Z1 B1 C1 Z4
X2 V2 XC2 D3
DELIMITER_ROW
T1 R1
M2 MB2 NC2
S3 BB1
AQ3 Q1 P1"
现在,我想将每个部分(DELIMITER_ROW 之间)出现的所有行合并为一行,并返回这些合并行的列表。
我想创建这样的列表:
[[A1 B1 C1 A2 B2 C2 D3 A3 X1 YY1]
[Z1 B1 C1 Z4 X2 V2 XC2 D3]
[T1 R1 M2 MB2 NC2 S3 BB1 AQ3 Q1 P1]]
如何在 pyspark 中使用 RDD 完成?
现在我知道如何读取文件并过滤掉分隔符行:
sc.textFile(pathToFile).filter(lambda line: DELIMITER_ROW not in line).collect()
但我不知道如何将每个部分中的行减少/合并/组合/分组为一行。
谢谢。
【问题讨论】:
标签: apache-spark pyspark rdd bigdata