Я нашел похожий вопрос о переполнении стека. Этот подход хорошо работал только с несколькими столбцами. Но я понял, что этот метод невозможен для CSV с большим количеством столбцов.
У меня есть CSV с 75 столбцами. Я решил следовать этому подходу (та же ссылка, что упоминалась выше). Как попросили сделать в этом вопросе. Я добавил процессор UpdateRecord
и добавил CSVReader
и CSVWriter
. Затем, как и было сказано, я ввел свой SchemaText
. Это было довольно долго, так как мне потребовалось определить все 70 столбцов. Тогда CSVRecordSetWriter
было сказано, что это invalid
.
Я понял, после определенного количества определений столбцов Я включил в схему это стало invalid
.
Часть моей схемы выглядит такэто:
{
"type":"record",
"name":"test2.csv",
"namespace":"my.namespace",
"fields":[
{
"name":"download",
"type":"string"
},
{
"name":"upload",
"type":"string"
}
.
.
.
.
{
"name":"operatorId",
"type":"string"
},
{
"name":"errorCode",
"type":"string"
}
]
}
Также мой CSV содержит заголовки.
Цель : мне нужно сопоставить данные в столбце errorCode
с новым столбцом с именем errorMean
. Надеюсь, вы можете предложить метод, который я могу достичь этого. Не стесняйтесь дать решение, которое может даже полностью пропустить процесс записи Schema Text
.