Tabel Eksternal dan Iceberg

Otomatisasi Data Pipeline di Snowflake

Emily Melhuish

Technical Curriculum Developer, Snowflake

Apa itu Tabel Eksternal?

Kasus penggunaan:

  • Harbr menerima file dari puluhan mitra setiap hari
  • Memuatnya ke Snowflake tidak masuk akal

tabel eksternal.png

Tabel Eksternal

  • Data tetap di S3, GCS, atau Azure Blob — tidak pernah pindah ke Snowflake
  • Snowflake menyimpan metadata: path file, skema
  • Membaca file saat waktu kueri
Otomatisasi Data Pipeline di Snowflake

Membuat Tabel Eksternal

CREATE EXTERNAL TABLE logistics.supplier_inventory
  WITH LOCATION = @harbr_stage/inventory/
  FILE_FORMAT = (TYPE = 'PARQUET')
  AUTO_REFRESH = TRUE;
Otomatisasi Data Pipeline di Snowflake

Kapan Menggunakan Tabel Eksternal

  • Data dimiliki mitra — kueri tanpa mengambil alih pengelolaan data
  • File besar, jarang dikueri — hindari memuat data yang diakses bulanan
  • Data tidak boleh dipindah demi kepatuhan — file harus tetap di lokasi asal
  • Eksplorasi sebelum berkomitmen — baca file mentah sebelum memutuskan apa yang dimuat
-- Query partner inventory 
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;
Otomatisasi Data Pipeline di Snowflake

Tabel Eksternal vs Memuat Data

Tabel eksternal

  • Nol biaya penyimpanan Snowflake
  • Selalu mencerminkan kondisi terbaru penyimpanan cloud
  • Terbaik untuk data arsip yang jarang dikueri
-- Kueri langsung, tanpa perlu load
SELECT * FROM 
logistics.supplier_inventory
WHERE supplier_id = 'SUP-042';

Memuat dengan COPY INTO

  • Kinerja kueri Snowflake penuh
  • Terbaik untuk data aktif yang sering dikueri
-- Muat sekali, kueri cepat
COPY INTO logistics.delivery_events
FROM @harbr_stage/events/;
Otomatisasi Data Pipeline di Snowflake

Tabel Apache Iceberg

  • Bagaimana memastikan pembacaan data yang benar dari S3, Azure Blob, atau GCS?

    • Apache
  • Apache = Format tabel terbuka: data tidak terkunci pada mesin tertentu

    • File Parquet + lapisan metadata (time travel, riwayat skema, partisi)
    • Reliabilitas setara basis data

Tangkapan layar 2026-05-11 pukul 12.14.31.png

1 * Materi pembelajaran Snowflake
Otomatisasi Data Pipeline di Snowflake

Dikelola Snowflake vs Dikelola Eksternal

Dikelola Snowflake

  • Snowflake memiliki dan menulis metadata Iceberg
  • Akses baca-tulis penuh dari SQL
CREATE ICEBERG TABLE 
logistics.shipments
  CATALOG = 'SNOWFLAKE'
  EXTERNAL_VOLUME = 'harbr_s3_vol'
  BASE_LOCATION = 'iceberg/shipments/';

Dikelola eksternal

  • Katalog luar memiliki metadata - AWS Glue, Apache Polaris
CREATE ICEBERG TABLE 
logistics.partner_data
  CATALOG = 'glue_catalog'
  EXTERNAL_VOLUME = 'harbr_s3_vol'
  CATALOG_TABLE_NAME = 
  'partner.deliveries';
Otomatisasi Data Pipeline di Snowflake

Ayo berlatih!

Otomatisasi Data Pipeline di Snowflake

Preparing Video For Download...