Схема ограничения атрибутов, выведенная в столбец json в PySpark DataFrame
Я новичок в преобразовании 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()
функция, но я не могу быть действительно уверен в том, что происходит позади.. как спарк читает колонку с этой схемой. Просто ищу af_content_id
? Что если он не найдет его подряд?