我是pyspark的新手。 我有一个像下面这样的文本文件,我想用pyspark解析它,只得到花的缩减[ro,ni,da]。我怎样才能做到这一点 ?请指教
种植缩写
花:
ro rose
ni Nilofar
da Dahlia
答案 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或函数来根据需要更改数据。