gpt4 book ai didi

python - 从 Pyspark DataFrame 中的选定行获取特定字段

转载 作者:太空狗 更新时间:2023-10-29 19:35:09 26 4
gpt4 key购买 nike

我有一个通过 pyspark 从 JSON 文件构建的 Spark DataFrame

sc = SparkContext()
sqlc = SQLContext(sc)

users_df = sqlc.read.json('users.json')

现在,我想访问一个 chosen_user 数据,这是它的 _id 字段。我能行

print users_df[users_df._id == chosen_user].show()

这给了我完整的用户行。但是假设我只想要 Row 中的一个特定字段,比如用户性别,我该如何获取它?

最佳答案

只需过滤并选择:

result = users_df.where(users_df._id == chosen_user).select("gender")

或使用col

from pyspark.sql.functions import col

result = users_df.where(col("_id") == chosen_user).select(col("gender"))

最后 PySpark Row 只是一个带有一些扩展的 tuple 所以你可以例如 flatMap:

result.rdd.flatMap(list).first()

map 像这样:

result.rdd.map(lambda x: x.gender).first()

关于python - 从 Pyspark DataFrame 中的选定行获取特定字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35720330/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com