计算来自 RDD 的不同用户

Count distinct users from RDD

我有 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 Gs","date":"2013-05-07 04:34:36"}

使用:

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

直接将json读入数据帧

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