Преобразовать фрейм данных Spark в массив объектов JSON - PullRequest
0 голосов
/ 02 мая 2018

В качестве примера у меня есть следующий Dataframe:

+--------------------------------------+------------+------------+------------------+
|               user_id                |    city    | user_name  |   facebook_id    |
+--------------------------------------+------------+------------+------------------+
| 55c3c59d-0163-46a2-b495-bc352a8de883 | Toronto    | username_x | 0123482174440907 |
| e2ddv22d-4132-c211-4425-9933aa8de454 | Washington | username_y | 0432982476780234 |
+--------------------------------------+------------+------------+------------------+

Как мне преобразовать его в массив JSON Objecta, например:

[{
  "user_id": "55c3c59d-0163-46a2-b495-bc352a8de883",
  "facebook_id": "0123482174440907"
},
{
  "user_id": "e2ddv22d-4132-c211-4425-9933aa8de454",
  "facebook_id": "0432982476780234"
}]

1 Ответ

0 голосов
/ 03 мая 2018

Предполагая, что вы уже загрузили данные в виде фрейма данных, вы можете использовать функцию toJSON на фрейме данных.

*scala> sc.parallelize(Seq(("55c3c59d-0163-46a2-b495-bc352a8de883","Toronto","username_x","0123482174440907"))).toDF("user_id","city","user_name","facebook_id")
res2: org.apache.spark.sql.DataFrame = [user_id: string, city: string, user_name: string, facebook_id: string]*


*res2.toJSON.take(1)
res3: Array[String] = Array({"user_id":"55c3c59d-0163-46a2-b495-bc352a8de883","city":"Toronto","user_name":"username_x","facebook_id":"0123482174440907"})*
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...