#apache-nifi
#apache-nifi
Вопрос:
У меня есть 6 таблиц, которые я хочу создать одну за другой — каждая последующая таблица зависит от предыдущей.
Я попытался поместить все 6 SQL -скриптов в однопроцессорный PutSQL
в Apache Nifi, но процессор вышел из строя при попытке создать table_2
с ошибкой table_1 does not exist
.
Я предполагаю, что изменения не будут зафиксированы в Redshift, пока не будет завершен весь скрипт. Я попытался обойти это, активировав Database Session AutoCommit
, но я все равно получаю тот же результат.
Должен ли я создавать 6 отдельных PutSQL
процессоров или есть способ поместить несколько операторов SQL в один PutSQL
процессор, и после каждого изменения будут зафиксированы в базе данных?
Комментарии:
1. Я не эксперт Apache Nifi и, надеюсь, смогу дать вам более прямую информацию. Я знаю Redshift, и если бы я атаковал это, я бы хотел знать xid и pid запросов, создающих table_1 и table_2. xid — это идентификатор транзакции (блок фиксации), а pid — идентификатор процесса (идентификатор соединения). Я бы предположил, что эти операторы поступают не из одного соединения, поскольку автоматическая фиксация не помогла. Эту информацию о запросах можно найти в таблице stl_query .
Ответ №1:
Быстрый ответ: мне нужно создать 6 отдельных процессоров PutSQL из-за ограничений между Nifi и AWS-Redshift.