Я работаю с некоторыми CSV в NiFi, и мой конвейер производит несколько дубликатов. В результате я хотел бы использовать процессор DetectDuplicate
, но для этого мне нужно иметь некоторый атрибут, с которым он может сравниваться для обнаружения дублирования. У меня есть процессор ExtractText, и я хотел бы использовать регулярное выражение для получения значения в столбце SHA1_BASE16
.
Я попробовал следующую строку регулярных выражений (предложенную другом, я не совсем понимаю) в CSV ниже, но выделил неправильные поля и некоторые посторонние вещи. Как я могу заставить его захватывать только значение SHA1_BASE16
?
RegEx
^[^,]*,[^,]*,[^,]*,[^,]*,[^,]*,([^,]*),[^,]*,[^,]*,[^,]*,[^,]*,[^,]*,([^,]*),[^,]*,[^,]*,([^,]*)\S*
CSV
"USER_JID","CREATED_AT","UPLOAD_TIME","SHA1_BASE32","SHA1_BASE16","HASH_SOURCE","MESSAGE_TYPE","IPV4"
"dreynolds","1932/04/01 20:23:35 UTC","2016/12/28 20:23:11 UTC","72F20077A79A0D4D90F4C0669FB6EA4BC5953293","FB1D928B83DEBCD2B2E53DF4C8D4C2AF99EB81E0","HOLLYWOOD","TWITTER","123.123.123.123"
Фактический объем производства
Match 1
Full match 0-291 "USER_JID","CREATED_AT","UPLOAD_TIME","SHA1_BASE32","SHA1_BASE16","HASH_SOURCE","MESSAGE_TYPE","IPV4...
Group 1. 66-79 "HASH_SOURCE"
Group 2. 209-251 "FB1D928B83DEBCD2B2E53DF4C8D4C2AF99EB81E0"
Group 3. 274-291 "123.123.123.123"
Ожидаемый результат
Match 1
Full match 0-291 "USER_JID","CREATED_AT","UPLOAD_TIME","SHA1_BASE32","SHA1_BASE16","HASH_SOURCE","MESSAGE_TYPE","IPV4...
Group 1. 209-251 "FB1D928B83DEBCD2B2E53DF4C8D4C2AF99EB81E0"