Я работаю с конвейером данных AWS.В этом контексте я передаю несколько параметров из определения конвейера в файл sql следующим образом:
s3://reporting/preprocess.sql,-d,RUN_DATE=#{@scheduledStartTime.format('YYYYMMdd')}"
Мой файл sql выглядит следующим образом:
CREATE EXTERNAL TABLE RESULT (
STUDENT_ID STRING,
REMARKS STRING,
EXAM_DATE STRING
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
STORED AS TEXTFILE LOCATION 's3://result/data/run_date=${previous day of RUN_DATE}'; <----(1)
...
insert into temp
select a.roll_number, remarks
from student a inner join result b
on a.student_id = b.student_id
where exam_date>='<start date of previous month of RUN_DATE>' <---- (2)
and exam_date<='<end date of previous month of RUN_DATE>';<---- (3)
Здесь в приведенном выше sql яЯ не понимаю, как я буду добиваться (1), (2) и (3) из RUN_DATE.
Таким образом, если RUN_DATE = 20190101, то значение в (1) должно быть «20181231», значение в (2) должно быть «2018-12-01» и (3) должно быть «2018-12-31»".