Zephyrnet Logosu

Amazon S3, AWS Glue ve Snowflake ile veri gölünüzde Apache Iceberg'i kullanın | Amazon Web Hizmetleri

Tarih:

Bu yazı Snowflake'ten Andries Engelbrecht ve Scott Teal ile birlikte yazılmıştır.

İşletmeler sürekli gelişiyor ve veri liderleri her gün yeni gereksinimleri karşılama konusunda zorlanıyor. Birçok işletme ve büyük kuruluş için, çeşitli iş gereksinimlerini karşılayacak tek bir işleme motoruna veya araca sahip olmak mümkün değildir. Herkese uygun tek çözüm yaklaşımının artık işe yaramadığını anlıyorlar ve yeni çözümlerin sunulmasını hızlandırmak amacıyla modern bir veri mimarisinde birlikte çalışabilirliği desteklemek için ölçeklenebilir, esnek araçlar ve açık veri formatlarını benimsemenin değerinin farkındalar.

Müşteriler, modern analitik ve yapay zeka (AI) kullanım senaryoları için gereken performansı sağlayan, amaca yönelik olarak oluşturulmuş veri mimarileri geliştirmek için AWS ve Snowflake'i kullanıyor. Bu çözümlerin uygulanması, amaca yönelik olarak oluşturulmuş veri depoları arasında veri paylaşımını gerektirir. Bu nedenle Snowflake ve AWS, veri hizmetleri arasında veri birlikte çalışabilirliğini etkinleştirmek ve kolaylaştırmak amacıyla Apache Iceberg için gelişmiş destek sağlıyor.

Apache Iceberg, çeşitli işleme motorları arasında işlem bütünlüğü ile büyük veri kümeleri için güvenilirlik, basitlik ve yüksek performans sağlayan açık kaynaklı bir tablo formatıdır. Bu yazıda aşağıdaki konuları tartışıyoruz:

  • Veri gölleri için Iceberg tablolarının avantajları
  • AWS ve Snowflake arasında Iceberg tablolarını paylaşmak için iki mimari model:
    • Iceberg tablolarınızı yönetin AWS Tutkal Veri Kataloğu
    • Iceberg tablolarınızı Snowflake ile yönetin
  • Mevcut veri gölleri tablolarının, veriler kopyalanmadan Iceberg tablolarına dönüştürülmesi işlemi

Artık konular hakkında üst düzeyde bilgi sahibi olduğunuza göre, her birine ayrıntılı olarak bakalım.

Apache Iceberg'in Avantajları

Apache Iceberg, veri göllerinde depolanan büyük veri kümelerinde veri işlemeyi basitleştirmeye yardımcı olan, dağıtılmış, topluluk odaklı, Apache 2.0 lisanslı, %100 açık kaynaklı bir veri tablosu formatıdır. Veri mühendisleri Apache Iceberg'i her ölçekte hızlı, verimli ve güvenilir olduğu ve veri kümelerinin zaman içinde nasıl değiştiğinin kayıtlarını tuttuğu için kullanıyor. Apache Iceberg, Apache Spark, Apache Flink, Apache Hive, Presto ve daha fazlası gibi popüler veri işleme çerçeveleriyle entegrasyonlar sunar.

Buzdağı tabloları, büyük dosya koleksiyonlarını soyutlamak için meta verileri korur; zaman yolculuğu, geri alma, veri sıkıştırma ve tam şema gelişimi gibi veri yönetimi özellikleri sağlayarak yönetim yükünü azaltır. Apache Software Foundation'a açık kaynak olarak sunulmadan önce ilk olarak Netflix'te geliştirilen Apache Iceberg, aşağıdakiler gibi yaygın veri gölü sorunlarını çözmeye yönelik boş bir sayfa tasarımıydı: kullanıcı deneyimi, güvenilirlik ve performansve artık sürekli olarak iyileştirmeye ve projeye yeni özellikler eklemeye, gerçek kullanıcı ihtiyaçlarına hizmet etmeye ve bunlara isteğe bağlılık sağlamaya odaklanan güçlü bir geliştirici topluluğu tarafından desteklenmektedir.

AWS ve Snowflake üzerine oluşturulmuş işlemsel veri gölleri

Snowflake, Iceberg tabloları için birden fazla depolama seçeneği içeren çeşitli entegrasyonlar sağlar; Amazon S3ve birden fazla katalog seçeneği dahil AWS Tutkal Veri Kataloğu ve Kar taneciği. AWS, çeşitli AWS hizmetleri için entegrasyonlar sağlar tablo meta verilerini izlemeye yönelik AWS Glue Data Catalog da dahil olmak üzere Iceberg tablolarıyla birlikte. Snowflake ile AWS'yi birleştirmek, veri paylaşımı ve işbirliği gibi analitik ve diğer kullanım örnekleri için işlemsel bir veri gölü oluşturmak üzere size birden fazla seçenek sunar. Veri göllerine bir meta veri katmanı ekleyerek çok büyük veri kümelerinde daha iyi bir kullanıcı deneyimi, basitleştirilmiş yönetim ve gelişmiş performans ve güvenilirlik elde edersiniz.

Buzdağı tablonuzu AWS Glue ile yönetin

Verileri almak, kataloglamak, dönüştürmek ve yönetmek için AWS Glue'yu kullanabilirsiniz. Amazon Basit Depolama Hizmeti (Amazon S3). AWS Glue, veri göllerinize Iceberg formatında veri yüklemek için (ETL) işlem hatlarını görsel olarak oluşturmanıza, çalıştırmanıza ve izlemenize olanak tanıyan sunucusuz bir veri entegrasyon hizmetidir. AWS Glue ile 70'ten fazla farklı veri kaynağını keşfedip bunlara bağlanabilir ve verilerinizi merkezi bir veri kataloğunda yönetebilirsiniz. Snowflake, AWS Glue Data Catalog ile entegre olur Analitik sorgular için Iceberg tablo kataloğuna ve Amazon S3'teki dosyalara erişmek için. Bu, performansı ve işlem maliyetini büyük ölçüde artırır. Snowflake'teki harici tablolar, çünkü ek meta veriler sorgu planlarındaki budamayı iyileştirir.

Snowflake'teki veri paylaşımı ve işbirliği özelliklerinden yararlanmak için aynı entegrasyonu kullanabilirsiniz. Amazon S3'te verileriniz varsa ve diğer iş birimleri, iş ortakları, tedarikçiler veya müşterilerle Snowflake veri paylaşımını etkinleştirmeniz gerekiyorsa bu çok güçlü olabilir.

Aşağıdaki mimari diyagramı bu modele üst düzey bir genel bakış sağlar.

İş akışı aşağıdaki adımları içerir:

  1. AWS Glue, uygulamalardan, veritabanlarından ve akış kaynaklarından veri çıkarır. AWS Glue daha sonra onu dönüştürür ve Amazon S3'teki veri gölüne Iceberg tablo formatında yükler, bu arada AWS Glue Veri Kataloğu'ndaki Iceberg tablosuyla ilgili meta verileri ekleyip günceller.
  2. AWS Glue tarayıcısı, Iceberg tablosu meta verilerini oluşturup günceller ve bunu bir S3 veri gölündeki mevcut Iceberg tabloları için AWS Glue Data Catalog'da saklar.
  3. Snowflake, anlık görüntü konumunu almak için AWS Glue Data Catalog ile entegre olur.
  4. Snowflake, bir sorgu durumunda Amazon S3'teki Iceberg tablo verilerini okumak için AWS Glue Data Catalog'daki anlık görüntü konumunu kullanır.
  5. Snowflake, Iceberg ve Snowflake tablo formatlarında sorgulama yapabilir. Yapabilirsiniz veri paylaş aynı Snowflake bölgesindeki bir veya daha fazla hesapla işbirliği için. Snowflake'teki verileri aşağıdakiler için de kullanabilirsiniz: görüntüleme kullanma Amazon QuickSightveya bunun için kullanın makine öğrenimi (ML) ve yapay zeka (AI) amaçları ile Amazon Adaçayı Yapıcı.

Iceberg masanızı Snowflake ile yönetin

İkinci model ayrıca AWS ve Snowflake genelinde birlikte çalışabilirlik sağlar ancak Snowflake'e alım ve dönüşüm için veri mühendisliği ardışık düzenlerini uygular. Bu modelde veriler, AWS Glue gibi AWS hizmetleriyle entegrasyonlar veya Snowpipe gibi diğer kaynaklar aracılığıyla Snowflake tarafından Iceberg tablolarına yüklenir. Snowflake daha sonra Snowflake ve çeşitli AWS hizmetlerinin aşağı akış erişimi için verileri doğrudan Amazon S3'e Iceberg formatında yazar ve Snowflake, AWS hizmetlerinin erişmesi için tablolardaki anlık görüntü konumlarını izleyen Iceberg kataloğunu yönetir.

Önceki modelde olduğu gibi, Snowflake tarafından yönetilen Iceberg tablolarını Snowflake veri paylaşımıyla birlikte kullanabilirsiniz, ancak bir tarafın Snowflake'e erişiminin olmadığı durumlarda veri kümelerini paylaşmak için S3'ü de kullanabilirsiniz.

Aşağıdaki mimari diyagram, Snowflake tarafından yönetilen Iceberg tablolarıyla bu modele genel bir bakış sunmaktadır.

Bu iş akışı aşağıdaki adımlardan oluşur:

  1. Verileri yüklemenin yanı sıra KOPYALA komutu, kar borusu, ve AWS Glue için yerel Snowflake konektörü, verileri Snowflake aracılığıyla entegre edebilirsiniz Bilgi paylaşımı.
  2. Snowflake, Iceberg tablolarını Amazon S3'e yazar ve meta verileri her işlemde otomatik olarak günceller.
  3. Amazon S3'teki Iceberg tabloları, QuickSight ve SageMaker gibi hizmetler kullanılarak analitik ve makine öğrenimi iş yükleri için Snowflake tarafından sorgulanır.
  4. AWS'deki Apache Spark hizmetleri şunları yapabilir: Snowflak'tan anlık görüntü konumlarına erişmeSnowflake Iceberg Catalog SDK aracılığıyla Amazon S3'teki Iceberg tablo dosyalarını doğrudan tarayın.

Çözümleri karşılaştırma

Bu iki model, Apache Iceberg'i kullanarak Snowflake ve AWS arasındaki veri birlikte çalışabilirliğini en üst düzeye çıkarmak için günümüzde veri personelinin kullanabileceği seçenekleri vurgulamaktadır. Peki kullanım durumunuz için hangi model idealdir? Zaten AWS Glue Data Catalog'u kullanıyorsanız ve yalnızca okuma sorguları için Snowflake'e ihtiyacınız varsa ilk model, Iceberg tablolarını sorgulamak için Snowflake'i AWS Glue ve Amazon S3 ile entegre edebilir. Halihazırda AWS Glue Data Catalog'u kullanmıyorsanız ve Snowflake'in okuma ve yazma işlemlerini gerçekleştirmesini istiyorsanız ikinci model büyük olasılıkla AWS'den veri depolamaya ve verilere erişmeye olanak tanıyan iyi bir çözümdür.

Okuma ve yazma işlemlerinin veri mimarisinin tamamı yerine tablo bazında çalışacağı göz önüne alındığında, her iki modelin bir kombinasyonunun kullanılması tavsiye edilir.

Apache Iceberg'i kullanarak mevcut veri göllerini işlemsel veri gölüne taşıyın

Performansı ve kullanıcı deneyimini geliştirirken işlem bütünlüğünün avantajlarından yararlanmak için Amazon S3'teki mevcut Parquet, ORC ve Avro tabanlı veri gölü tablolarını Iceberg formatına dönüştürebilirsiniz. Birkaç Iceberg tablosu taşıma seçeneği vardır (ENSTANTANE FOTOĞRAF, GÖÇ, ve DOSYA EKLE) mevcut veri gölü tablolarını yerinde, temeldeki tüm veri dosyalarını yeniden yazmak yerine tercih edilen Iceberg formatına geçirmek için kullanılır; bu, büyük veri kümeleriyle maliyetli ve zaman alıcı bir çabadır. Bu bölümde ADD_FILES'a odaklanıyoruz çünkü özel geçişler için kullanışlıdır.

ADD_FILES seçenekleri için, mevcut bir data lake tablosu için Iceberg meta verileri ve istatistikleri oluşturmak amacıyla AWS Glue'yu kullanabilir ve temeldeki verileri yeniden yazmaya gerek kalmadan ileride kullanmak üzere AWS Glue Data Catalog'da yeni Iceberg tabloları oluşturabilirsiniz. AWS Glue kullanarak Iceberg meta verileri ve istatistikleri oluşturmaya ilişkin talimatlar için bkz. Apache Iceberg'i kullanarak mevcut bir veri gölünü işlemsel veri gölüne geçirme or AWS Glue kullanarak mevcut Amazon S3 data lake tablolarını Snowflake Unmanaged Iceberg tablolarına dönüştürün.

Bu seçenek, dosyaları Iceberg tablolarına dönüştürürken veri hatlarını duraklatmanızı gerektirir; bu, AWS Glue'da basit bir işlemdir çünkü hedefin yalnızca Iceberg tablosuna değiştirilmesi gerekir.

Sonuç

Bu yazıda, AWS ve Snowflake arasında daha iyi birlikte çalışabilirlik için Apache Iceberg'i bir veri gölünde uygulamaya yönelik iki mimari modelini gördünüz. Ayrıca mevcut veri gölü tablolarının Iceberg formatına taşınması konusunda da rehberlik sağladık.

Websitesine kayıt olun : 10 Nisan AWS Geliştirici Günü yalnızca Apache Iceberg ile değil, aynı zamanda akışlı veri hatlarıyla da uygulamalı bilgi edinmek için Amazon Veri Firehose ve Kar Borusu Akışıve üretken yapay zeka uygulamaları ile Snowflake'te Streamlit ve Amazon Ana Kayası.


Yazarlar Hakkında

Andries Engelbrecht Snowflake'de Baş Ortak Çözüm Mimarıdır ve stratejik ortaklarla çalışır. Ürün ve hizmet entegrasyonlarını destekleyen AWS gibi stratejik ortaklarla ve iş ortaklarıyla ortak çözümlerin geliştirilmesiyle aktif olarak ilgilenmektedir. Andries, veri ve analitik alanında 20 yılı aşkın deneyime sahiptir.

Deenbandhu Prasad AWS'de büyük veri hizmetlerinde uzmanlaşmış Kıdemli Analitik Uzmanıdır. Müşterilerin AWS Cloud üzerinde modern veri mimarileri oluşturmasına yardımcı olma konusunda tutkulu. Her büyüklükteki müşterinin veri yönetimi, veri ambarı ve veri gölü çözümlerini uygulamalarına yardımcı oldu.

Brian Dolan Deniz Havacısı olarak ilk kariyerinin ardından 2012 yılında Amazon'a Askeri İlişkiler Müdürü olarak katıldı. Brian, 2014 yılında Amazon Web Services'e katıldı ve burada yeni kurulan şirketlerden kuruluşlara kadar Kanadalı müşterilerin AWS Cloud'u keşfetmesine yardımcı oldu. Brian, son olarak Amazon DynamoDB ve Amazon Keyspaces için Pazara Çıkış Uzmanı olarak İlişkisel Olmayan İş Geliştirme ekibinin bir üyesiydi ve 2022'de AWS Glue için Pazara Çıkış Uzmanı olarak Analytics Dünya Çapında Uzman Organizasyonuna katıldı.

Nidhi Gupta AWS'de Kıdemli İş Ortağı Çözüm Mimarıdır. Günlerini müşteriler ve ortaklarla çalışarak mimari zorlukları çözerek geçiriyor. Veri entegrasyonu ve orkestrasyonu, sunucusuz ve büyük veri işleme ve makine öğrenimi konularında tutkuludur. Nidhi, veri iş yükleri için mimari tasarım ve üretim sürümü ve dağıtımlarına liderlik etme konusunda geniş deneyime sahiptir.

Scott Teal Snowflake'te Ürün Pazarlama Lideridir ve veri gölleri, depolama ve yönetim konularına odaklanmaktadır.

spot_img

En Son İstihbarat

spot_img