start_date, end_date, schedule
: default_timezone을 따른다.execution_date, log_time
: 항상 UTC를 따른다. → 변환이 필요하다.: https://openweathermap.org/price
https://api.openweathermap.org/data/2.5/onecall?lat={lat}&lon={lon}&exclude={part}&appid={API_key}&units=metric
CREATE TABLE schema1.weather_forecast (
date date primary key,
temp float, -- 낮 온도
min_temp float,
max_temp float,
created_date timestamp default GETDATE()
);
-- 방식 1
CREATE TABLE pktest(
id INT PRIMARY KEY,
...
);
-- 방식 2
CREATE TABLE pktest(
id INT,
...
PRIMARY KEY(id),
);
CREATE TABLE schema.table_name(
date date primary key,
value bigint
);
INSERT INTO schema.table_name VALUES ('2023-12-12',100);
INSERT INTO schema.table_name VALUES ('2023-12-12',150);
CREATE TABLE {schema}.{table} (
date date,
temp float,
min_temp float,
max_temp float,
created_date timestamp default GETDATE()
);
ROW_NUMBER() OVER (partition by A order by B DESC) seq
CREATE TEMP TABLE t AS SELECT * FROM schema.table;
DELETE FROM schema.table;
INSERT INTO schema1.weather_forecast
SELECT date, temp, min_temp, max_temp, created_date
FROM (
SELECT *, ROW_NUMBER() OVER (PARTITION BY date ORDER BY created_date DESC) seq
FROM t
)
WHERE seq = 1;
Start_date
: DAG가 처음 실행되는 날짜가 아니라 DAG가 처음 읽어와야하는 데이터의 날짜/시간. 실제 첫 실행날짜는 start_date + DAG의 실행주기이다.execution_date
: DAG가 읽어와야하는 데이터의 날짜와 시간catchup
: DAG가 처음 활성화된 시점이 start_date보다 미래라면 그 사이에 실행이 안된 것들에 대해 처리 여부를 결정하는 파라미터. True인 경우 실행 안된 것들을 모두 실행하게된다. (default : True)end_date
: Backfill을 날짜 범위에 대해 하는 경우에 필요하다.wsl —shutdown
docker exec -it <container_id> sh
으로 사용할 것.sudo chown -R <계정명> <작업폴더>