#sql #snowflake-cloud-data-platform
Вопрос:
У меня есть запрос, который выбирается из корзины s3, но значение, которое мне нужно выбрать, меняется каждый квартал — указано ниже {}. Есть ли в любом случае в снежинке, я могу написать логику, чтобы она была самой последней четвертью
Select $1:date from '@lake.lake./s3key/{variable}/data.json.gzip' );
Я бы хотел variable = 2021Q3
, а затем в следующем квартале 2022К1 эст
Возможно ли это? Или мне придется задействовать python
Ответ №1:
Я пытался использовать идентификатор для этапов, но, похоже, это не работает.
Я думаю, вы можете использовать хранимую процедуру для достижения этой цели.
create or replace procedure get_stage_data(quarter varchar) returns string language javascript as $ var query = "Select $1::date from '@lake.lake./s3key/" QUARTER "/data.json.gzip"; var stmt = snowflake.createStatement({sqlText: query}); var res = stmt.execute(); var retVal = ''; while (res.next()) { retVal = res.getColumnValue(1) "n" } return retVal; $;
Возможно, запишите данные в таблицу, чтобы вы могли проанализировать их позже.