Во-первых, вам, вероятно, вообще не нужен SplitAvro в вашем потоке, если только нет некоторого логического поднабора строк, которые вы пытаетесь отправить как отдельные транзакции.
Для изменения имени столбца используйте UpdateRecordи установите для поля /DIASMORAS
путь записи /DIASMORA2
и измените имя поля в схеме AvroRecordSetWriter с DIASMORA2
на DIASMORAS
.
Эта последняя часть немного сложнее, поскольку вы используете встроенную схему в AvroReader.Если схема всегда будет одинаковой, вы можете остановить процессор UpdateRecord и вставить процессор ExtractAvroMetadata для извлечения атрибута avro.schema
.Это поместит встроенную схему в атрибут avro.schema
потокового файла.
Затем перед запуском UpdateRecord запустите процессоры ExecuteSQL и ExtractAvroMetadata, а затем проверьте файл потока в очереди, чтобы скопировать схему из avro.schema
атрибут.Затем в AvroRecordSetWriter в ConvertRecord вместо наследования схемы вы можете выбрать Use Schema Text
, а затем вставить схему из атрибута, изменив DIASMORA2
на DIASMORAS
.Этот подход помещает значения из поля DIASMORA2
в поле DIASMORAS
, но поскольку DIASMORA2
отсутствует в выходной схеме, он игнорируется, тем самым эффективно переименовывая поле (хотя под капотом это копирование иудалить).