Bea*_*ung 6 split pyspark jupyter
我在 Jupyter 中将一个 CSV 文件读入 RDD,并希望将每一行转换为一对单词而不是单数单词,然后创建单词对的元组,但不知道我应该怎么做。CSV 文件如下所示:
阿富汗、AFG
阿尔巴尼亚、ALB
阿尔及利亚、ALG
美属索摩亚、ASA
安圭拉、AIA
我试过这个:
lines = sc.textFile(...) words = lines.flatMap(lambda line : line.split (" "))
但它不会将 Albania, ALB 作为一个元组返回。相反,它将阿尔巴尼亚视为一个,将 ALB 视为另一个。请帮忙!
您需要使用map而不是flatMap. 您可以按如下方式创建元组列表:
result = sc.textFile("...").map(lambda line:tuple(line.split(",")))
Run Code Online (Sandbox Code Playgroud)
result.collect() 然后返回:
[(u'Afghanistan', u' AFG'),
(u'Albania', u' ALB'),
(u'Algeria', u' ALG'),
(u'American Somoa', u' ASA'),
(u'Anguilla', u' AIA')]
Run Code Online (Sandbox Code Playgroud)
查看此输出,您可能需要添加unicode.strip以删除前导空格:
sc.textFile("....").
map(lambda line:tuple(map(unicode.strip,line.split(",")))).
collect()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3593 次 |
| 最近记录: |