В моем случае, поскольку я уверен, что эти столбцы будут включены во все файлы CSV, мне просто нужно изменить их порядок. Поэтому я использую QueryRecord
, чтобы изменить порядок файлов CSV.
Например, вот мои csv-файлы:
\\file1
name, age, location, gender
Jack, 40, TW, M
Lisa, 30, CA, F
\\file2
name, location, gender, age
Mary, JP, F, 25
Kate, DE, F, 23
Я хотел бы изменить порядок столбцов на location,name,gender,age
, я установил новое свойство в QueryRecord
с именем reorder_data
со значением типа:
SELECT location,name,gender,age FROM FLOWFILE
Тогда данные в поточном файле станут такими:
\\file1 - reordered
location, name, gender, age
TW, Jack, M, 40
CA, Lisa, F, 30
\\file2 - reordered
location, name, gender, age
JP, Mary, F, 25
DE, Kate, F, 23
Таким образом, я могу получить переупорядоченный вывод данных из QueryRecord
как и исходные данные, это очень удобно.
Кстати, вы также можете использовать групповую переменную или атрибут, чтобы установить порядок столбцов для лучшего обслуживания:
//Group variable or attribute
column_order location,name,gender,age
//Property in QueryRecord
reorder_data SELECT ${column_order} FROM FLOWFILE