у меня есть строка json в моем фрейме данных, я уже пытался извлечь столбцы json sting с помощью pyspark - PullRequest
0 голосов
/ 16 декабря 2018

df = spark.read.json ("dbfs: / mnt / evbhaent2blobs", multiLine = True)

df2 = df.select (F.col ('body'). Cast ("Struct")) .getItem ('CustomerType'). alias ('CustomerType')) *

display (df)

my df равно

my oupputdf

1 Ответ

0 голосов
/ 17 декабря 2018

Я предполагаю, что в вашем фрейме данных есть столбец "body", представляющий собой строку json, и вы хотите проанализировать json и извлечь из него элемент.

Сначала необходимо определить или извлечьСхема JSON.А затем проанализируйте строку json и извлеките ее элементы в виде столбца.Из извлеченных столбцов вы можете выбрать нужные столбцы.

json_schema = spark.read.json(df.rdd.map(lambda row: row.body)).schema
df2 = df.withColumn('body_json', F.from_json(F.col('body'), json_schema))\
        .select("body_json.*").select('CustomerType')

display(df2)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...