Я новичок в преобразовании 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
?Что если он не найдет его подряд?