Агрегирование поля int под структурой, когда в фрейме данных pyspark есть несколько типов данных - PullRequest
0 голосов
/ 13 февраля 2019

У меня есть набор данных с приведенной ниже структурой.

{
  "id": 1,
  "firstfield": "abc",
  "secondfield": "zxc",
  "firststruct": {
  "secondstruct": {
    "firstarray": [{
        "firstarrayfirstfield": "asd",
        "firstarraysecondfield": "dasd",
        "secondarray": [{
            "score": "7"
        }, {
            "score": " Some random text "
        }]
    }]
}

Схема выполнена таким образом, что поле secondarray имеет 2 структуры, и данные каждой из них имеют разные типы данных.Я должен взять агрегацию всех целых чисел, но я должен загрузить все содержимое кадра данных обратно в базу данных.Я пробовал разные техники, такие как applying filters, а затем .withColumn('answerText', when(col('score').isNotNull(), col('score').cast(StringType())).otherwise(col('score').cast(IntegerType()))).Но теперь швы работают.

Мне нужен результат, похожий на id - 1 has a total score of 70.

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