большое кол-во полей, внутри этих полей еще может быть куча вложенных полей, которые тоже могут содержать вложенные поля и тд? Вложенность неизвестна.
Вы делаете такие вещи (https://medium.com/lambdaverse/how-to-handle-nested-json-with-apache-spark-c3801195dcc8) или собираете кучу json, потом определяете максимальную вложенность и на этой основе делаете схему по которой должен раскладываться json?
> вложенность неизвестна Почему? Так или иначе неизвестную придется приводить к известной, т.к. вы скорее всего не будете неизвестную вложенность отдавать далее дата пользователям Я когда-то такое делал через: schema on read + экстра фича, которая детектила новые неизвестные схеме поля
Файлы получаем от интегратора. Данные забираем по api. Часто бывает, что поле есть, а оно все время приходило null. В один момент оно приходит заполненное и все ломается, тк оказывается в этом поле могли быть еще поля.
А что если в своей схеме это поле игнорить? Если оно такое не постоянное. Но это только если для тебя оно не нужное. А если оно нужное, тогда конечно нужно описание схемы от источника. И постоянные согласования по изменениям схем
getitem() это что? И зачем оно? Есть же стандартные средства для разных случаев
col().getItem().
Обсуждают сегодня