Режим сохранения в API источника данных в Spark 3.0.x

#scala #apache-spark #datasource

#scala #apache-spark #источник данных

Вопрос:

Я пытаюсь перенести пользовательский соединитель spark, который мой коллега написал в spark 3.0. API кардинально изменился (в целом, в лучшую сторону). Одна вещь, с которой у меня возникла проблема, заключается в том, SaveMode что она используется для записи фрейма данных. Раньше он предоставлялся в качестве одного из входных аргументов абстрактного метода createWriter WriteSupport trait . Однако WriteSupport он был изменен на SupportsWrite и эквивалентный метод (если его можно так назвать) заключается newWriteBuilder в том, что получает аргумент типа LogicalWriteInfo , который не имеет члена типа SaveMode .

Я также изучил WriteBuilder , BatchWrite , DataWriterFactory , и DataWriter[T] безрезультатно. К сожалению, я не смог найти никакой документации по этому вопросу. Любая помощь будет с благодарностью принята.

Спасибо

Ответ №1:

SaveMode находится на выходе в соответствии с этой проблемой. Вместо этого были добавлены новые функции, которые могут выполнять те же функции:

SupportsDynamicOverwrite

SupportsOverwrite

SupportsTruncate