Как добавить строки из json (массивы dicts) в уже существующий фрейм данных? - PullRequest
0 голосов
/ 06 ноября 2018

привет, у меня уже есть датафрейм: df_init со всеми столбцами:

A|B|C|D

Я получаю JSON, как:

json=[{"A":"1","B":"2","C":"3"},
{"A":"1","B":"2","C":"3","D":"4"},
{"A":"1","B":"2"}]

я хочу, чтобы df_final вроде:

A|B|  C |D
1|2|  3 |None
1|2|  3 |4
1|2|None|None

если я это сделаю:

msgJSON=self.spark.sparkContext.parallelize([json_string],1)
            df = self.sqlContext.read.option("multiLine", "true").options(samplingRatio=1.0).json(msgJSON)        

но у меня есть проблемы с ошибкой.

спасибо

1 Ответ

0 голосов
/ 07 ноября 2018
json = [{"A":"1","B":"2","C":"3"},
        {"A":"1","B":"2","C":"3","D":"4"},
        {"A":"1","B":"2"}]

msgJSON = spark.sparkContext.parallelize([json],1)
df_final = sqlContext.read.option("multiLine","true").options(samplingRatio=1.0).json(msgJSON)

df_final.show()
+---+---+----+----+
|  A|  B|   C|   D|
+---+---+----+----+
|  1|  2|   3|null|
|  1|  2|   3|   4|
|  1|  2|null|null|
+---+---+----+----+

Я повторил ваш код без ключевого слова self. Вы не можете использовать self, «везде».

...