Работает над миграцией SPL 3.0 на 4.2 (TEDA)
Я работаю над миграцией кода 3.0 в новую платформу 4.2. Я сталкиваюсь с несколькими трудностями:
Как сделать дедупликацию уровня CDR в новой платформе 4.2? (Примечание: дедупликация таблиц уже выполнена).
Где реализовать PostDedupProcessor - пользовательский контекст или цепочка ссылок? В любом случае, мне нужно удалить дубликаты хеш-кодов из списка или просто отклонить кортежи? Здесь я также делаю обновление столбцов для нескольких кортежей.
Мой файл не перемещается в архив. Временный выходной файл генерируется, и он слишком пустой и находится вне каталога загрузки. Какие могут быть возможные причины? - Я тщательно проверил параметры конфигурации, и после помещения логов кажется, что правильный вывод посылается из кастомного трансформатора, поэтому я не знаю, где он застрял. Я напечатал поток TableRowGenerator для журналов (конец DataProcessor).
1 ответ
1. и 2.:
Вам нужно выбрать тип дедупликации. Это не большая разница, если вы выбираете "table-" или "cdr-level-deduplication". Ite.businessLogic.transformation.outputType действительно влияет на это. Есть только один дедуп. Вы не можете иметь оба.
Выбрать recordStream
для "cdr-level-deduplication" выполните преобразование в формат строки таблицы (например, если вы хотите использовать TableFileWriter) в xxx.chainsink.custom::PostContextDataProcessor. В xxx.chainsink.custom:: PostContextDataProcessor вам нужно добавить пользовательский код для обработки дубликатов: отклонять (отбрасывать) кортежи или устанавливать специальные значения столбцов или записывать их в разные целевые таблицы.
3.:
Возможные причины могут быть:
- Отсутствует пересылка оконных знаков препинания или статистического кортежа
- ошибка в конфигурации BloomFilter, вы легко это заметите, потому что PE не работает, а журнал ошибок дает подсказки о неправильных функциях sha2
Чтобы устранить неполадки в приложении ITE, я рекомендую включить следующие приемники отладки, если проверки живого графа StreamsStudio недостаточно:
- ite.businessLogic.transformation.debug = на
- ite.businessLogic.group.debug= на
- ite.businessLogic.sink.debug= на
Запустите тест только с одним входным файлом и проверьте поток ваших записей и статистических кортежей. "Отладочные приемники" пишут маркеры пунктуации также для отладки файлов.