计算来自 RDD 的不同用户

Posted

技术标签:

【中文标题】计算来自 RDD 的不同用户【英文标题】:Count distinct users from RDD 【发布时间】:2019-09-13 10:21:46 【问题描述】:

我有一个 json 文件,我使用 textFile 将它加载到我的程序中。我想计算我的 json 数据中不同用户的数量。我无法转换为 DataFrame 或 Dataset。我尝试了以下代码,它给了我一些 java EOF 错误。

jsonFile = sc.textFile('some.json')
dd = jsonFile.filter(lambda x: x[1]).distinct().count()
# 2nd column is user ID coulmn

样本数据

"review_id":"Q1sbwvVQXV2734tPgoKj4Q","user_id":"hG7b0MtEbXx5QzbzE6C_VA","business_id":"ujmEBvifdJM6h6RLv4wQIg","stars":1.0,text":"Total bill for this horrible service? Over $8Gs","date":"2013-05-07 04:34:36"

【问题讨论】:

提供一些示例数据。 查看更新后的帖子 【参考方案1】:

使用:

spark.read.json(Json_File, multiLine=True)

直接将json读入dataframe

根据您的文件要求尝试将 multiLine 设置为 True 和 False

【讨论】:

以上是关于计算来自 RDD 的不同用户的主要内容,如果未能解决你的问题,请参考以下文章

RDD基础知识

Spark复习-RDD

Spark——RDD属性

Spark RDD计算每天各省的top3热门广告

五-上, Spark RDD 概述,五大属性,执行原理

来自 RDD 的每个键的 PySpark 不同列表