Amazon Atina içindeki verileri analiz etmeyi kolaylaştıran etkileşimli bir sorgu hizmetidir. Amazon Basit Depolama Hizmeti (Amazon S3) ve AWS'de, şirket içinde veya SQL ya da Python kullanan diğer bulut sistemlerinde bulunan veri kaynakları. Athena, hiçbir provizyon veya yapılandırma çalışması gerektirmeden açık kaynaklı Trino ve Presto motorları ve Apache Spark çerçeveleri üzerine kurulmuştur. Athena sunucusuz olduğundan yönetilmesi gereken bir altyapı yoktur ve yalnızca çalıştırdığınız sorgular için ödeme yaparsınız.
Apaçi Buzdağı çok büyük analitik veri kümeleri için açık tablo formatıdır. Büyük dosya koleksiyonlarını tablolar halinde yönetir ve kayıt düzeyinde ekleme, güncelleme, silme ve zamanda yolculuk sorguları gibi modern analitik veri gölü işlemlerini destekler. Athena, veriler ve veri için Apache Parquet formatını kullanan Apache Iceberg tabloları için okuma, zamanda yolculuk, yazma ve DDL sorgularını destekler. AWS Tutkal Veri Kataloğu meta depoları için.
Özellik mühendisliği ham verileri (resimler, metin dosyaları, videolar vb.) tanımlama ve dönüştürme, eksik verileri doldurma ve bir makine öğrenimi (ML) modelinin bundan öğrenebilmesi için bağlam sağlamak üzere bir veya daha fazla anlamlı veri öğesi ekleme sürecidir. Tahmin, bilgisayarla görme, doğal dil işleme ve konuşma tanıma gibi çeşitli kullanım durumları için veri etiketleme gereklidir.
Athena'nın yetenekleriyle birleştirilen Apache Iceberg, veri bilimcilerin tüm veri kümesini kopyalamaya veya yeniden oluşturmaya gerek kalmadan yeni veri özellikleri oluşturmaları için basitleştirilmiş bir iş akışı sunar. Özellik mühendisliği için başka bir hizmet kullanmadan, Athena'da standart SQL kullanarak özellikler oluşturabilirsiniz. Veri bilimcileri, veri kümelerini hazırlamak ve kopyalamak için harcanan zamanı azaltabilir ve bunun yerine veri özelliği mühendisliğine, deneylere ve verileri geniş ölçekte analiz etmeye odaklanabilir.
Bu yazıda Athena'yı Apache Iceberg açık tablo formatıyla kullanmanın avantajlarını ve bunun veri bilimcileri için ortak özellik mühendisliği görevlerini nasıl basitleştirdiğini inceliyoruz. Athena'nın mevcut bir tabloyu Apache Iceberg formatında nasıl dönüştürebileceğini, ardından sütun ekleyebileceğini, sütunları silebileceğini ve veri kümesini yeniden oluşturmadan veya kopyalamadan tablodaki verileri nasıl değiştirebileceğini ve bu yetenekleri Apache Iceberg tablolarında yeni özellikler oluşturmak için nasıl kullanabileceğini gösteriyoruz.
Çözüme genel bakış
Veri bilimcileri genellikle büyük veri kümeleriyle çalışmaya alışkındır. Veri kümeleri genellikle JSON, CSV, ORC veya Apache Parke hızlı okuma performansı için format veya benzer okuma için optimize edilmiş formatlar. Veri bilimcileri sıklıkla yeni veri özellikleri oluşturur ve bu tür veri özelliklerini toplu ve yardımcı verilerle doldurur. Geçmişte bu görev, Apache Parquet biçimindeki temel verilerle tablonun üstünde bir görünüm oluşturularak, bu tür sütunların ve verilerin çalışma zamanında eklendiği veya ek sütunlarla yeni bir tablo oluşturularak gerçekleştirildi. Bu iş akışı birçok kullanım durumu için uygun olsa da büyük veri kümeleri için verimsizdir çünkü verilerin çalışma zamanında oluşturulması veya veri kümelerinin kopyalanıp dönüştürülmesi gerekir.
Athena tanıttı ASİT (Atomiklik, Tutarlılık, İzolasyon, Dayanıklılık) işlemi INSERT, UPDATE, DELETE, MERGE ve zamanda yolculuk işlemlerini ekleyen yetenekler Apache Buzdağı tabloları. Bu yetenekler, veri bilimcilerinin, veri kümesini kopyalama, dönüştürme veya bir görünümle soyutlama endişesi olmadan yeni veri özellikleri oluşturmasına ve mevcut veri özelliklerini mevcut veri kümelerine bırakmasına olanak tanır. Veri bilimcileri özellik mühendisliği çalışmalarına odaklanabilir ve veri kümelerini kopyalayıp dönüştürmekten kaçınabilir.
Athena Iceberg UPDATE işlemi, Apache Iceberg konum silme dosyalarını ve yeni güncellenen satırları aynı işlemde veri dosyaları olarak yazar. Tek bir UPDATE ifadesi ile kayıt düzeltmeleri yapabilirsiniz.
Athena motoru sürüm 3'ün piyasaya sürülmesiyle birlikte Apache Iceberg tablolarının yetenekleri, aşağıdaki gibi işlemlere yönelik destekle geliştirildi: SEÇİM OLARAK TABLO OLUŞTUR (CTAS) ve Iceberg verilerinizin yaşam döngüsü yönetimini kolaylaştıran MERGE komutları. CTAS, Apache Paquet gibi diğer formatlardan tablolar oluşturmayı hızlı ve verimli hale getirir ve BİRLEŞTİRMEK koşullu güncellemeler, silme veya bir Iceberg tablosuna satır ekleme. Tek bir ifade, güncelleme, silme ve ekleme eylemlerini birleştirebilir.
Önkoşullar
CTAS ve MERGE komutlarını Apache Iceberg tablosuyla kullanmak için Athena motoru sürüm 3 ile bir Athena çalışma grubu kurun. Mevcut Athena motorunuzu Athena çalışma grubunuzdaki sürüm 3'e yükseltmek için bölümündeki talimatları izleyin. Sorgu performansını artırmak ve daha fazla analiz özelliğine erişmek için Athena motor sürüm 3'e yükseltin veya bakın Athena konsolundaki motor versiyonunu değiştirme.
Veri kümesi
Gösterim amacıyla, bir S3 klasöründe saklanan son birkaç yılın rastgele dağıtılmış hayali satış verilerinin birkaç milyon kaydını içeren bir Apache Parquet tablosu kullanıyoruz. İndir veri kümesini yerel bilgisayarınıza açın ve S3 klasörünüze yükleyin. Bu yazımızda veri setimizi s3://sample-iceberg-datasets-xxxxxxxxxxx/sampledb/orders_and_customers/
.
Aşağıdaki tabloda tablonun düzeni gösterilmektedir customer_orders
.
Sütun adı | Veri tipi | Açıklama |
sipariş anahtarı | dizi | Sipariş için sipariş numarası |
emanet anahtarı | dizi | Müşteri kimlik numarası |
Sipariş durumu | dizi | Siparişin durumu |
toplam fiyat | dizi | Siparişin toplam fiyatı |
sipariş tarihi | dizi | sipariş tarihi |
sipariş önceliği | dizi | Siparişin önceliği |
kâtip | dizi | Siparişi işleyen memurun adı |
gemi önceliği | dizi | Nakliyede öncelik |
isim | dizi | Müşteri adı |
adres | dizi | Müşteri adresi |
ulus anahtarı | dizi | Müşteri ülke anahtarı |
telefon | dizi | Müşteri telefon numarası |
hesap | dizi | Müşteri hesap bakiyesi |
mktsegment | dizi | Müşteri pazarı segmenti |
Özellik mühendisliği gerçekleştirin
Bir veri bilimci olarak şunları gerçekleştirmek istiyoruz: özellik mühendisliği Mevcut veri setindeki her müşteri için hesaplanan bir yıllık toplam satın almalar ve bir yıllık ortalama satın almalar eklenerek müşteri siparişleri verileri üzerine. Gösteri amaçlı olarak şunu oluşturduk: customer_orders
tablo sampledb
Aşağıdaki DDL komutunda gösterildiği gibi Athena'yı kullanarak veritabanı. (Mevcut veri kümelerinizden herhangi birini kullanabilir ve bu yazıda belirtilen adımları takip edebilirsiniz.) customer_orders
veri kümesi oluşturuldu ve S3 klasör konumunda saklandı s3://sample-iceberg-datasets-xxxxxxxxxxx/sampledb/orders_and_customers/
Parke formatında. Bu tablo bir Apache Buzdağı tablosu değil.
Bir sorgu çalıştırarak tablodaki verileri doğrulayın:
Müşteri satışlarına ilişkin daha derin bir anlayış elde etmek için bu tabloya yeni özellikler eklemek istiyoruz; bu da daha hızlı model eğitimi ve daha değerli bilgilerle sonuçlanabilir. Veri kümesine yeni özellikler eklemek için customer_orders
Athena masasından Athena'daki Apache Buzdağı masasına. Bir sorun CTAS Apache Iceberg formatında yeni bir tablo oluşturmak için sorgu ifadesi customer_orders
masa. Bunu yaparken her müşterinin geçmiş yıldaki (veri setinin maksimum yılı) toplam satın alma tutarını elde edebilecek yeni bir özellik eklenir.
Aşağıdaki CTAS sorgusunda, adlı yeni bir sütun one_year_sales_aggregate
varsayılan değer olarak 0.0
veri türü double
eklenir ve table_type
ayarlandı ICEBERG
:
Apache Iceberg tablosundaki verileri yeni sütunla doğrulamak için aşağıdaki sorguyu çalıştırın one_year_sales_aggregate
değerler olarak 0.0
:
Yeni özelliğe ilişkin değerleri doldurmak istiyoruz one_year_sales_aggregate
Her müşterinin geçen yılki satın alma işlemlerine (veri kümesinin maksimum yılı) dayalı olarak toplam satın alma tutarını almak için veri kümesinde. Değerleri doldurmak için Athena'yı kullanarak Apache Iceberg tablosuna bir MERGE sorgu ifadesi yayınlayın. one_year_sales_aggregate
özelliği:
Geçen yıl her müşterinin toplam harcamasının güncellenmiş değerini doğrulamak için aşağıdaki sorguyu çalıştırın:
Her müşterinin geçen yılki ortalama satın alma tutarını hesaplamak ve depolamak için mevcut Apache Iceberg tablosuna başka bir özellik eklemeye karar verdik. Özellik için mevcut bir tabloya yeni bir sütun eklemek üzere bir ALTER sorgu ifadesi yayınlayın one_year_sales_average
:
Değerleri bu yeni özelliğe doldurmadan önce, özellik için varsayılan değeri ayarlayabilirsiniz. one_year_sales_average
için 0.0
. Athena'da aynı Apache Iceberg tablosunu kullanarak, yeni özelliğin değerini şu şekilde doldurmak için bir UPDATE sorgu ifadesi yayınlayın: 0.0
:
Geçen yıl her müşterinin ortalama harcamasına ilişkin güncellenen değerin şu şekilde ayarlandığını doğrulamak için aşağıdaki sorguyu çalıştırın: 0.0
:
Şimdi yeni özelliğin değerlerini doldurmak istiyoruz one_year_sales_average
Her müşterinin geçen yıldaki satın alma işlemlerine (veri kümesinin maksimum yılı) dayalı olarak ortalama satın alma tutarını almak için veri kümesinde. Özelliğe ilişkin değerleri doldurmak için Athena motorunu kullanarak Athena'daki mevcut Apache Iceberg tablosuna bir MERGE sorgu ifadesi yayınlayın one_year_sales_average
:
Her müşterinin ortalama harcamasına ilişkin güncellenmiş değerleri doğrulamak için aşağıdaki sorguyu çalıştırın:
Veri kümesine ek veri özellikleri eklendikten sonra veri bilimcileri genellikle Amazon Sagemaker veya eşdeğer araç setini kullanarak makine öğrenimi modellerini eğitmeye ve çıkarımlar yapmaya devam eder.
Sonuç
Bu yazıda Athena'yı Apache Iceberg ile kullanarak özellik mühendisliğinin nasıl gerçekleştirileceğini gösterdik. Ayrıca, Apache Parquet formatındaki mevcut bir veri kümesinden Athena'da bir Apache Iceberg tablosu oluşturmak için CTAS sorgusunu kullanmayı, ALTER sorgusunu kullanarak Athena'daki mevcut bir Apache Iceberg tablosuna yeni özellikler eklemeyi ve verileri güncellemek için UPDATE ve MERGE sorgu ifadelerini kullanmayı gösterdik. mevcut sütunların özellik değerleri.
Tabloları hızlı ve verimli bir şekilde oluşturmak için CTAS sorgularını kullanmanızı ve Athena ile Apache Iceberg'i kullanarak özellikleri dönüştürürken veri hazırlıklarını basitleştirmek ve görevleri güncellemek amacıyla tabloları tek adımda senkronize etmek için MERGE sorgu ifadesini kullanmanızı öneririz. Yorumlarınız veya geri bildirimleriniz varsa, lütfen bunları yorum bölümüne bırakın.
Yazarlar Hakkında
Vivek Gautam AWS Profesyonel Hizmetler'de veri gölleri konusunda uzmanlaşmış bir Veri Mimarıdır. AWS'de veri ürünleri, analiz platformları ve çözümler geliştiren kurumsal müşterilerle birlikte çalışıyor. Vivek, modern veri platformları oluşturup tasarlamadığı zamanlarda yeni seyahat destinasyonlarını keşfetmeyi ve yürüyüşe çıkmayı seven bir yemek tutkunu.
Mihail Vaynshteyn Amazon Web Services ile bir Çözüm Mimarıdır. Mikhail, hastaların sonuçlarını iyileştirmeye yardımcı olan çözümler oluşturmak için sağlık ve yaşam bilimleri müşterileriyle birlikte çalışır. Mikhail, veri analitiği hizmetlerinde uzmanlaşmıştır.
Naresh Gautam AWS'de 20 yıllık deneyime sahip bir Veri Analitiği ve Yapay Zeka/Yapay Öğrenme lideridir ve müşterilerin veriye dayalı karar alma süreçlerine güç katmak için yüksek düzeyde kullanılabilir, yüksek performanslı ve uygun maliyetli veri analitiği ve Yapay Zeka/ML çözümleri tasarlamasına yardımcı olmaktan keyif alır. . Boş zamanlarında meditasyon yapmaktan ve yemek yapmaktan hoşlanıyor.
Harşa Tadiparthi AWS'de Analytics alanında uzman bir Baş Çözüm Mimarıdır. Veritabanları ve analitiklerdeki karmaşık müşteri sorunlarını çözmekten ve başarılı sonuçlar sunmaktan hoşlanıyor. İş dışında ailesiyle vakit geçirmeyi, film izlemeyi ve fırsat buldukça seyahat etmeyi seviyor.
- SEO Destekli İçerik ve Halkla İlişkiler Dağıtımı. Bugün Gücünüzü Artırın.
- EVM Finans. Merkezi Olmayan Finans için Birleşik Arayüz. Buradan Erişin.
- Kuantum Medya Grubu. IR/PR Güçlendirilmiş. Buradan Erişin.
- PlatoAiStream. Web3 Veri Zekası. Bilgi Genişletildi. Buradan Erişin.
- Kaynak: https://aws.amazon.com/blogs/big-data/accelerate-data-science-feature-engineering-on-transactional-data-lakes-using-amazon-athena-with-apache-iceberg/
- :vardır
- :dır-dir
- :olumsuzluk
- :Neresi
- $UP
- 10
- 100
- 12
- 17
- 20
- 20 yıl
- 23
- 27
- 7
- a
- Hakkımızda
- hızlandırmak
- erişim
- başarılı
- Hesap
- eylemler
- eklemek
- katma
- ekleme
- Ek
- adres
- AI / ML
- Ayrıca
- Rağmen
- Amazon
- Amazon Atina
- Amazon Adaçayı Yapıcı
- Amazon Web Servisleri
- miktar
- an
- Analitik
- Analitik
- analytics
- çözümlemek
- analiz
- ve
- Başka
- herhangi
- Apache
- Apache Spark
- ARE
- AS
- At
- mevcut
- ortalama
- önlemek
- AWS
- AWS Profesyonel Hizmetleri
- merkezli
- BE
- Çünkü
- olmuştur
- faydaları
- inşa etmek
- bina
- yapılı
- by
- hesaplanmış
- CAN
- yetenekleri
- durumlarda
- sınıflandırma
- bulut
- koleksiyon
- Sütun
- Sütunlar
- birleştirmek
- yorumlar
- ortak
- karmaşık
- hesaplamak
- bilgisayar
- Bilgisayar görüşü
- yapılandırma
- içeren
- bağlam
- dönüştürmek
- yemek pişirme
- kopyalama
- Düzeltmeler
- uygun maliyetli
- yaratmak
- çevrimiçi kurslar düzenliyorlar.
- Oluşturma
- müşteri
- Müşteriler
- veri
- Veri Analizi
- Veri Gölü
- veri bilimi
- veri bilimcisi
- veri-güdümlü
- veritabanı
- veritabanları
- veri kümeleri
- Tarih
- karar vermek
- Karar verme
- derin
- Varsayılan
- teslim
- sağlıyor
- göstermek
- gösterdi
- tasarım
- Destinasyon
- dağıtıldı
- yapıyor
- çift
- Damla
- dayanıklılık
- her
- kolay
- verimli
- verimli biçimde
- çaba
- ya
- elemanları
- güçlendirmek
- etkinleştirmek
- teşvik etmek
- Motor
- Mühendislik
- Motorlar
- gelişmiş
- kuruluş
- kurumsal müşteriler
- hayran
- Tüm
- Eşdeğer
- Eter (ETH)
- mevcut
- deneyim
- keşfetmek
- dış
- yanlış
- aile
- HIZLI
- Daha hızlı
- Özellikler(Hazırlık aşamasında)
- Özellikler
- geribesleme
- dosyalar
- odak
- takip et
- takip etme
- Gıda
- İçin
- biçim
- çerçeveler
- Ücretsiz
- itibaren
- genellikle
- oluşturulan
- almak
- Go
- grup
- Hadoop'un
- Var
- he
- sağlık
- yardım et
- yardım
- yüksek performans
- büyük ölçüde
- zamları
- onun
- tarihsel
- kovan
- Ne kadar
- Nasıl Yapılır
- HTML
- HTTPS
- Kimlik
- belirlenmesi
- if
- görüntüleri
- iyileştirmek
- in
- Dahil olmak üzere
- Artırmak
- verimsiz
- Altyapı
- Uçlar
- anlayışlar
- yerine
- talimatlar
- interaktif
- içine
- tanıttı
- izolasyon
- konu
- IT
- jpg
- json
- etiketleme
- göl
- dil
- büyük
- Soyad
- Düzen
- lider
- ÖĞRENİN
- öğrenme
- Ayrılmak
- hayat
- Yaşam Bilimleri
- yaşam döngüsü
- LİMİT
- yerel
- yer
- seviyor
- makine
- makine öğrenme
- yapmak
- YAPAR
- yönetmek
- yönetim
- yönetir
- çok
- pazar
- eşleşti
- maksimum
- anlamlı
- Meditasyon
- adı geçen
- gitmek
- milyon
- eksik
- ML
- model
- modelleri
- Modern
- değiştirmek
- Daha
- filmler
- isim
- adlı
- millet
- Doğal (Madenden)
- Doğal lisan
- Doğal Dil İşleme
- gerek
- gerek
- yeni
- yeni özellik
- Yeni Özellikler
- yeni
- yok hayır
- numara
- of
- sık sık
- on
- ONE
- bir tek
- açık
- açık kaynak
- operasyon
- Operasyon
- or
- emir
- Diğer
- bizim
- sonuçlar
- dışında
- geçmiş
- yapmak
- performans
- telefon
- Platformlar
- Platon
- Plato Veri Zekası
- PlatoVeri
- Lütfen
- pozisyon
- mümkün
- Çivi
- hazırlanması
- fiyat
- Anapara
- sorunlar
- süreç
- işlenmiş
- işleme
- Ürünler
- profesyonel
- sağlamak
- satın alma
- alımları
- amaçlı
- Python
- sorgular
- hızla
- Çiğ
- işlenmemiş veri
- Okumak
- tanıma
- kayıt
- kayıtlar
- azaltmak
- serbest
- gereklidir
- sonuç
- yorum
- SIRA
- koşmak
- koşu
- sagemaker
- satış
- aynı
- ölçek
- Bilim
- BİLİMLERİ
- bilim adamı
- bilim adamları
- Bölüm
- Serverless
- hizmet
- Hizmetler
- set
- birkaç
- gösterilen
- Gösteriler
- benzer
- Basit
- basitleştirilmiş
- basitleştirmek
- tek
- So
- Çözümler
- Çözme
- kaynaklar
- Kıvılcım
- uzman
- uzmanlaşmış
- konuşma
- Konuşma Tanıma
- geçirmek
- harcanmış
- SQL
- standart
- Açıklama
- ifadeleri
- adım
- Basamaklar
- hafızası
- mağaza
- saklı
- kolaylaştırmak
- dizi
- başarılı
- böyle
- destek
- Destekler
- Sistemler
- tablo
- Görev
- görevleri
- o
- The
- Birleştirme
- ve bazı Asya
- Onları
- sonra
- Orada.
- Bunlar
- Re-Tweet
- zaman
- zaman yolculuğu
- için
- üst
- Toplam
- Tren
- Eğitim
- işlem
- işlemsel
- transforme
- dönüşüm
- seyahat
- tip
- altında yatan
- anlayış
- Güncelleme
- güncellenmiş
- Güncellemeler
- yükseltmek
- Yüklenen
- kullanım
- kullanma
- genellikle
- DOĞRULA
- Değerli
- değer
- Değerler
- çeşitli
- doğrulamak
- versiyon
- çok
- üzerinden
- Videolar
- Görüntüle
- vizyonumuz
- istemek
- oldu
- İzle
- we
- ağ
- web hizmetleri
- vardı
- ne zaman
- her ne zaman
- hangi
- süre
- DSÖ
- ile
- olmadan
- İş
- iş akışı
- Çalışma grubu
- çalışma
- çalışır
- olur
- yazmak
- yıl
- yıl
- sen
- zefirnet
- zip