Фон
Я реализовал конвейер данных снежинки (файл журнала s3> SNS> pipe> таблица этапов> поток> задача> сохраненный proc / UDF> финальная таблица) в нашей производственной базе данных снежинок.
Хотя в нашей базе данных разработчиков все работало в меньшем масштабе, похоже, что рабочий конвейер прекратил работу, если объем данных (6416006096 записей и растет) пытается передать поток.
Проблема
После некоторого исследования до сих пор выглядит, что s3 log> SNS> pipe> stage stage в порядке, но я застрял, когда задача извлекает записи из потока ... Поток НЕ устарел. Я потратил много времени на чтение документации по потокам и не нашел там никакой помощи по моей текущей проблеме.
Похоже, поток имеет слишком много данных для возврата - когда я пытаюсь получить счетчик (*) или * с пределом 10 из потока, он не возвращается через 8 минут (и счет) ...
Даже если бы я мог ограничить возвращаемые данные, я экспериментировал где, когда вы выбираете из потока внутри транзакции, вы можете потерять все изменения, даже если вы не хотите их всех (т. е. использовать инструкцию where для фильтрации) ...
Вопрос
Есть ли способ получить что-нибудь, что можно вернуть из потока, не сбрасывая его?
Есть ли способ разделить результаты потока без потери всех изменений в транзакции?
Есть ли какое-то недокументированное ограничение для потоков - я достиг этого?
Обеспокоенность
Я не хочу отключать конвейер данных b c, что означает Возможно, мне придется начинать все сначала, но я думаю, что мне придется, если я не получу ответы (я тоже связался со службой поддержки, но еще не получил ответа). Учитывая, что потоки и задачи все еще только предварительный просмотр, я думаю, это не должно быть сюрпризом, но мне сказали, что они будут GA из Snowflake.