![](/img/trans.png)
[英]Find count of distinct values between two same values in a csv file using pyspark
[英]PySpark distinct().count() on a csv file
我是新手,我正在尝试根据csv文件的某些字段创建一个distinct()。count()。
Csv结构(没有标题):
id,country,type
01,AU,s1
02,AU,s2
03,GR,s2
03,GR,s2
加载.csv我输入:
lines = sc.textFile("test.txt")
然后对lines
返回3的不同计数如预期:
lines.distinct().count()
但我不知道如何基于让我们说id
和country
来做出明显的计数。
在这种情况下,您将选择要考虑的列,然后计数:
sc.textFile("test.txt")\
.map(lambda line: (line.split(',')[0], line.split(',')[1]))\
.distinct()\
.count()
这是为了清楚起见,您可以优化lambda以避免调用line.split
两次。
分割线可以如下优化:
sc.textFile("test.txt").map(lambda line: line.split(",")[:-1]).distinct().count()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.