Как читать строковые файлы json в dataframe с помощью spark - PullRequest
0 голосов
/ 10 апреля 2019

У меня есть пример файла, в котором есть строка json, как обработать этот тип файла в spark.

Пример файла

{"Id":"240","Page":"dashboard","test":"working"}
{"Amt": "0.0","deliveryfee": "Free","ProductList": "{{ProductId=1,Price=200,Quantity=1},{ProductId=2,Price=600,Quantity=1}}","sample": "data"}

Чтение файла как json

val data = spark.read.option("multiLine", "true").json("/data/test/test.json")

df.printSchema
root
 |-- Amt: string (nullable = true)
 |-- ProductList: string (nullable = true)
 |-- deliveryfee: string (nullable = true)
 |-- sample: string (nullable = true)

printSchema показывает ProductList как строку, но это не так.

1 Ответ

1 голос
/ 10 апреля 2019

Вы, вероятно, хотите что-то вроде этого:

{
"Amt": "0.0",
"deliveryfee": "Free",
"ProductList": [{
    "ProductId": 1,
    "Price": 200,
    "Quantity": 1
}, {
    "ProductId": 2,
    "Price": 600,
    "Quantity": 1
}],
"sample": "data"

} Отредактировано: суть в том, что если ваш JSON в этом поле является строкой, вам нужно изменить свой JSON или работать с этим полем как строкой

...