在 Snowflake 進行資料管線自動化
Emily Melhuish
Technical Curriculum Developer, Snowflake
使用情境:

External Tables(外部資料表)
CREATE EXTERNAL TABLE logistics.supplier_inventory
WITH LOCATION = @harbr_stage/inventory/
FILE_FORMAT = (TYPE = 'PARQUET')
AUTO_REFRESH = TRUE;
-- 查詢合作夥伴存貨
SELECT supplier_id,
COUNT(*) AS file_count,
SUM(quantity) AS total_units
FROM logistics.supplier_inventory
WHERE delivery_date >= '2024-01-01'
GROUP BY supplier_id;
External tables
-- 直接查詢,無需載入
SELECT * FROM
logistics.supplier_inventory
WHERE supplier_id = 'SUP-042';
使用 COPY INTO 載入
-- 載入一次,查詢高速
COPY INTO logistics.delivery_events
FROM @harbr_stage/events/;
要如何確保從 S3、Azure Blob 或 GCS 正確讀取資料?
Apache=開放式表格格式:資料不綁定任何引擎

Snowflake 代管
CREATE ICEBERG TABLE
logistics.shipments
CATALOG = 'SNOWFLAKE'
EXTERNAL_VOLUME = 'harbr_s3_vol'
BASE_LOCATION = 'iceberg/shipments/';
外部代管
CREATE ICEBERG TABLE
logistics.partner_data
CATALOG = 'glue_catalog'
EXTERNAL_VOLUME = 'harbr_s3_vol'
CATALOG_TABLE_NAME =
'partner.deliveries';
在 Snowflake 進行資料管線自動化