Chciałbym utworzyć JSON z ramki danych Spark v.1.6 (przy użyciu scala). Wiem, że istnieje proste rozwiązanie polegające na wykonaniu df.toJSON
.Spark Row to JSON
Jednak mój problem wygląda nieco inaczej. Rozważmy na przykład dataframe z następującymi kolumnami:
| A | B | C1 | C2 | C3 |
-------------------------------------------
| 1 | test | ab | 22 | TRUE |
| 2 | mytest | gh | 17 | FALSE |
chciałbym mieć w końcu do dataframe z
| A | B | C |
----------------------------------------------------------------
| 1 | test | { "c1" : "ab", "c2" : 22, "c3" : TRUE } |
| 2 | mytest | { "c1" : "gh", "c2" : 17, "c3" : FALSE } |
gdzie C jest JSON zawierający C1
, C2
, C3
. Niestety, podczas kompilacji nie wiem, jak wygląda ramka danych (z wyjątkiem kolumn A
i B
, które są zawsze "naprawione").
Co do tego, dlaczego potrzebuję tego: Używam Protobuf do wysyłania wyników. Niestety, moja ramka danych czasami ma więcej kolumn niż się spodziewano i nadal wysyłałbym je przez Protobuf, ale nie chcę określać wszystkich kolumn w definicji.
Jak mogę to osiągnąć?
jeszcze dataframe – navige
Nie, przepraszam, mam na myśli raczej jak dodać 'C1, C2, C3' jako kolumna JSON ciąg do istniejącego dataframe. Zaktualizowałem post, aby wyjaśnić wersję Spark i scala jako języka. – navige
Przepraszamy! Oczywiście, właśnie zaktualizowałem pytanie (wraz z powodem, dla którego chciałbym to osiągnąć) i dodałem przykład. – navige