pyspark:解析带有标题和空行的文本文件

时间:2018-04-02 20:25:30

标签: pyspark

我是pyspark的新手。  我有一个像下面这样的文本文件,我想用pyspark解析它,只得到花的缩减[ro,ni,da]。我怎样才能做到这一点 ?请指教

---------

种植缩写

花:

ro rose

ni Nilofar

da Dahlia

--------

1 个答案:

答案 0 :(得分:0)

您使用textFile加载文件,然后过滤掉您不想要的行,如下所示。值得注意的是,您不应该对文本文件进行任何特定的排序,因为如果它很大并且分成多个文件或HDFS块,则您不必知道从哪里开始。

lines = spark.sparkContext.textFile("file:///some/path/to/plants.txt")

# Remove empty lines and header lines
abbrevs = lines.filter(lambda row: len(row) > 0) \
               .filter(lambda row: not row.startswith("Plantes")) \
               .filter(lambda row: not row.startswith("Flowers:")) \
               .map(lambda row: row.split())

only_abbrevs = abbrevs.map(lamdba row: row[0])

only_abbrevs.collect()

要转换任何加载的行,您可以使用map并提供python lambda或函数来根据需要更改数据。