限制推断到PySpark DataFrame中的json列的属性架构

时间:2018-12-13 15:52:15

标签: python json pyspark

我是Spark DataFrame转换的新手,正在尝试读取json格式的列。 示例:

{'af_content_id': [12461515],
 'af_currency': 'RB',
 'af_order_id': 27671679,
 'af_price': [31250],
 'af_quantity': [1],
 }

但是我只需要保留此列json属性中的一个属性,即af_content_id。所以我做到了:

schema = StructType([StructField("af_content_id",StringType(),True)])
df_data_events = df_purchases.select(func.from_json(func.col('event_data'), schema).alias('content_id'))

df_purchases DataFrame中的行示例:

Row(user_id=u'E9C59152-731C-41E6-B388-361F7BD743B8', event_data=u'{"af_quantity":1,"af_content_id":37359869,"af_revenue":412.87}', ts=datetime.datetime(2018, 12, 10, 9, 19, 53))

通过使用show()函数进行检查,它可以正常工作,但是我不能真正确定后面会发生什么。.spark是如何使用此模式读取列的。只是在寻找af_content_id吗?如果没有连续找到该怎么办?

0 个答案:

没有答案