#snowflake-cloud-data-platform
Вопрос:
мое требование таково: У меня есть большой объем данных, доступных в Snowflake, и я хотел бы обрабатывать данные с использованием многопоточной процедуры на основе JavaScript ; доступные данные независимы друг от друга; в принципе, нет взаимозависимости; поэтому, чтобы сократить время обработки, я хотел бы обрабатывать эти данные в нескольких потоках. Знаете ли вы, как это можно сделать, используя многопоточную опцию в JavaScript.
Ответ №1:
К сожалению, API хранимых процедур для JavaScript не поддерживает асинхронные запросы или многопоточность (на данный момент).
Альтернативой является использование дерева задач Snowflake — поскольку у одной задачи может быть несколько зависимых, они будут выполняться параллельно.
Вот доказательство с минимальным примером:
В этом примере я создал два запроса, выполнение каждого из которых занимает 10 секунд. Имея обе параллельные задачи в дереве, вы можете видеть, что они выполняются одновременно:
Вы можете видеть, что обоим запросам потребовалось 10 секунд, чтобы создать по 5 миллиардов строк каждый, а затем вставить новую строку в течение той же секунды.
Комментарии:
1. спасибо @Felipe Hoffa за ваш быстрый ответ.
2. Спасибо! Кстати, проверьте мой обновленный ответ, который включает в себя способ параллельного выполнения нескольких запросов за счет использования задач,