Да.Это легко сделать, если вы хорошо знаете, какие поля находятся у вас под рукой.В этом случае вы можете использовать процессор QueryRecord
для разделения содержимого потоковых файлов на основе полей на разные потоковые файлы.
QueryRecord
принимает динамические отношения, которые принимают SQL-оператор в качестве значения.Например, предположим, что у вас есть следующий контент в вашем CSV.
id,name,age,gender
1,John,29,M
5,Janine,31,F
И вы хотите иметь id
и age
в FlowFile и name
и gender
в другом FlowFile,вам необходимо настроить QueryRecord
, как показано ниже:
Поскольку QueryRecord
является процессором на основе записей, вы хотите настроить RecordReader и RecordWriter (Я использовал CSVReader
/ CSVRecordSetWriter
, поскольку наш вход и выход будет CSV), и, возможно, потребуется настроить их на SchemaRegistry
Выход - числовые поля
Вывод - не числовые поля
Подсказка : Если вы собираетесь использовать AvroSchemaRegistry
, вы можете использовать процессор InferAvroSchema
для вывода схемы Avro для вашего CSV-ввода.