Нифи: как объединить несколько столбцов в CSV-файл? - PullRequest
0 голосов
/ 31 мая 2019

NIFI версия: 1,5

входной файл:

col1,col2,col3,col4,col5,col6
a,hr,nat,REF,6,2481
a,hr,nat,TDB,6,1845
b,IT,raj,NAV,6,2678

Я хочу объединить последние три столбца с: разделителем и разделителем / на основе столбца col1.

ожидаемый результат:

col1,col2,col3,col4
a,hr,nat,REF:6:2481/TDB:6:1845
b,IT,raj,NAV:6:2678

Я не могу найти решение, потому что многие ответы основаны на слиянии двух файлов. Есть ли лучший способ сделать это?

ТИА.

1 Ответ

0 голосов
/ 31 мая 2019

Я думаю, что вам сначала понадобится процессор PartitionRecord с полем раздела col1, это разделит файл потока на несколько файлов потока, где каждое отдельное значение col1 будет находиться в своем собственном файле потока. Если первые 3 столбца будут использоваться для разделения, вы можете добавить все три столбца в качестве определяемых пользователем свойств для разделения.

Тогда независимо от того, используете ли вы решение на основе сценариев или, возможно, QueryRecord (если Calcite поддерживает конкатенацию «group by»), использование памяти должно быть меньше, поскольку вы имеете дело только с файлом потока в то время, строки которого уже связаны с указанным группа.

...