#snowflake-cloud-data-platform
Вопрос:
После загрузки данных в таблицу snow sql необходимо выполнить некоторые вычисления и сохранить их в таблице differnet snow sql.
каков наилучший способ достичь этого?
В команде копирования я могу заказать или выбрать определенный столбец для приема данных, но не могу получить производный столбец с помощью простой математики при загрузке данных, после загрузки во временную таблицу, что я должен использовать для выполнения таких операций, как агрессия … и т. Д
Некоторые примеры были бы великолепны.
Ответ №1:
Учитывая таблицу foobar
, содержащую отдельные строки записей, вы можете (например) агрегировать по времени и сохранить результат в таблице foo
со следующим SQL.
create or replace table foo (date date, events number, users number);
insert overwrite into foo select event_time::date,count(*),approx_count_distinct(uuid) from foobar group by 1 order by 1 asc;
select * from foo;
Это помогло бы увидеть ваш SQL, но, возможно, вам просто нужно использовать INSERT
его вместо COPY INTO
, так как последний предназначен для «Загрузки данных из промежуточных файлов».
Также стоит отметить, что Snowflake хранит в качестве метаданных некоторые агрегации (количество, минимальное, смешанное, различное количество и т.д.), Поэтому запросы агрегации могут быть метаданными-только в этом случае они очень быстрые и сводная таблица не нужна.