python – csv文件上的PySpark distinct().count()

前端之家收集整理的这篇文章主要介绍了python – csv文件上的PySpark distinct().count()前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我是新手,我正在尝试根据csv文件的某些字段创建一个distinct().count().

Csv结构(没有标题):

id,country,type
01,AU,s1
02,s2
03,GR,s2

加载.csv我输入:

lines = sc.textFile("test.txt")

然后对行返回3的不同计数如预期:

lines.distinct().count()

但我不知道如何基于让我们说id和国家来做出明显的计数.

解决方法

在这种情况下,您将选择要考虑的列,然后计数:
sc.textFile("test.txt")\
  .map(lambda line: (line.split(',')[0],line.split(',')[1]))\
  .distinct()\
  .count()

这是为了清楚起见,您可以优化lambda以避免调用line.split两次.

猜你在找的Python相关文章