Slide 11
Slide 11 text
【s3 → Snowflake】 データ取り込み設定
11
外部テーブル作成とデータロードのストアドを作成
し、タスクで定期実行
■ 外部テーブル作成のストアドから抜粋
// Get the date for the day before yesterday
var currentDate = new Date();
currentDate.setDate(currentDate.getDate() - 2);
// Format the date
var year = currentDate.getFullYear();
var month = ("0" + (currentDate.getMonth() + 1)).slice(-2); // JavaScript months
are 0-indexed
var day = ("0" + currentDate.getDate()).slice(-2);
// Generate the URL
var url = `s3://parquet/embulk/ga4_analytics_events/${year}/${month}/${day}`;
■ point
- タスク実行時に、外部テーブルを作成し、取り
込みたい日時のS3のパスを指定
- データロードでは、S3のパス配下をすべて取り
込むように
- 外部テーブル作成時点で読み込み元の S3が
絞り込まれているので、実質的に日時の差分
取り込みをするようにする
■ データロードのストアドから抜粋
COPY INTO GA4_ANALYTICS_EVENTS FROM(
SELECT
$1::variant as raw_data,
metadata$start_scan_time::timestamp_ntz as _load_at,
time_slice(_load_at, 1, 'day')::date as _load_daily
FROM @GA4_ANALYTICS_EVENTS_stage