Günümüz dünyasında, müşteriler kendi bilgisayarlarında çok büyük miktarda veriyi yönetmektedir. Amazon Basit Depolama Hizmeti (Amazon S3) veri gölleri, veri düzenindeki değişiklikleri sürekli olarak anlamak ve bunları tüketen sistemlerin kullanımına sunmak için kıvrımlı veri ardışık düzenleri gerektirir. AWS Tutkal tarayıcılar, şema yönetimi ve veri sınıflandırması söz konusu olduğunda ağır yükü ortadan kaldıran AWS Glue Data Catalog'da verileri kataloglamak için basit bir yol sağlar. AWS Glue tarayıcıları, meta verileri güncel tutarak Veri Katalogunu otomatik olarak doldurmak için Amazon S3'ten veri şemasını ve bölümleri çıkarır.
Ancak zaman içinde katlanarak büyüyen verilerle, belirli bir tablodaki bölüm sayısı önemli ölçüde artabilir. Çünkü analiz hizmetleri gibi Amazon Atina milyonlarca bölüm içeren bir tabloyu sorgularsanız, bölümü almak için gereken süre artar ve sorgu çalışma süresinin artmasına neden olabilir.
Bugün AWS Glue gezgini desteği, bölümlenmiş veri kümesinde sorgu işlemeyi optimize etmek için yeni keşfedilen tablolara otomatik olarak bölüm dizinleri eklemek üzere genişletildi. Şimdi, tarayıcı, bir tarayıcı çalıştırması sırasında yeni bir Veri Kataloğu tablosu oluşturduğunda, varsayılan olarak tüm sayısal ve dize tipi bölüm sütunlarının en büyük permütasyonunun anahtarlar olduğu bir bölüm dizini de oluşturur. Veri Kataloğu daha sonra bu anahtarlara dayalı aranabilir bir dizin oluşturarak milyonlarca bölüm içeren tablolarda bölüm meta verilerini almak ve filtrelemek için gereken süreyi azaltır. Bölüm dizinlerinin oluşturulması, Athena'da çalışan analitik iş yüklerine fayda sağlar, Amazon EMR'si, Amazon Kırmızıya Kaydırma Spektrumuve AWS Tutkal.
Bu gönderide, bir AWS Glue tarayıcısı ile bölüm dizinlerinin nasıl oluşturulacağını açıklıyoruz ve Athena'dan bir bölüm dizini olsun ya da olmasın taranan verilere erişirken sorgu performansı iyileştirmesini karşılaştırıyoruz.
Çözüme genel bakış
Biz kullanıyoruz AWS CloudFormation çözüm kaynaklarımızı oluşturmak için şablon. Aşağıdaki adımlarda, AWS Glue tarayıcısının AWS Glue konsolunu veya AWS Glue konsolunu kullanarak bir bölüm dizini oluşturmak üzere nasıl yapılandırılacağını gösteriyoruz. AWS Komut Satırı Arayüzü (AWS CLI). Ardından, Athena kullanarak sorgu performansı iyileştirmelerini karşılaştırıyoruz.
Önkoşullar
Bu gönderiyle birlikte takip etmek için, şuraya erişiminiz olmalıdır: AWS Kimlik ve Erişim Yönetimi AWS CloudFormation kullanarak kaynak oluşturmak için (IAM) yönetici rolü.
Çözüm kaynaklarınızı ayarlayın
CloudFormation şablonu aşağıdaki kaynakları oluşturur:
- IAM rolleri ve politikaları
- Şemayı tutmak için bir AWS Glue veritabanı
- Yüksek düzeyde bölümlenmiş bir veri kümesine işaret eden bir AWS Glue gezgini
- Sorgu sonuçlarını depolamak için bir Athena çalışma grubu ve kova
Çözüm kaynaklarını ayarlamak için aşağıdaki adımları tamamlayın:
- giriş yapın AWS Yönetim Konsolu IAM yöneticisi olarak.
- Klinik Yığını Başlat CloudFormation şablonunu dağıtmak için:
- İçin Veri tabanı ismi, varsayılanı koru
blog_partition_index_crawlerdb
. - Klinik Sonraki.
- Son sayfadaki ayrıntıları gözden geçirin ve AWS CloudFormation'ın IAM kaynakları oluşturabileceğini kabul ediyorum.
- Klinik Yığın oluştur.
- Yığın tamamlandığında AWS CloudFormation konsolunda şuraya gidin: Çıkışlar yığının sekmesi.
- değerlerini not edin
DatabaseName
veGlueCrawlerName
.
Bu yığının dağıttığı kaynaklardan bazıları kullanım sırasında maliyete neden olur.
AWS Glue tarayıcısını düzenleyin ve çalıştırın
AWS Glue tarayıcısını yapılandırmak ve çalıştırmak için aşağıdaki adımları tamamlayın:
- AWS Glue konsolunda seçin Tarayıcıları Gezinti bölmesinde.
- yerleştirmek
crawler blog-partition-index-crawler
Ve seç Düzenle. - içinde Çıktıyı ve zamanlamayı ayarla bölümünde, altında Gelişmiş seçeneklerseçin Bölüm dizinlerini otomatik olarak oluşturun.
- Tarayıcı ayarlarını gözden geçirin ve güncelleyin.
Alternatif olarak, tarayıcınızı AWS CLI kullanarak yapılandırabilirsiniz (IAM rolünüzü ve Bölgenizi sağlayın):
- Şimdi tarayıcıyı çalıştırın ve tarayıcı çalışmasının tamamlandığını doğrulayın.
Bu, oldukça bölümlenmiş bir veri kümesidir ve tamamlanması yaklaşık 90 dakika sürer.
Bölümlenmiş tabloyu doğrulayın
AWS Glue veritabanında blog_partition_index_crawlerdb
, tablonun olduğunu doğrulayın highly_partitioned_table
yaratıldı.
Tarayıcı, varsayılan olarak, sayısal veya dize şeklinde olan aynı bölüm sütunları sırasındaki geçerli sütun türlerinin bölüm sütunlarının en büyük permütasyonuna dayalı olarak bir dizin belirler. Paletli tarafından oluşturulan tablo için (highly_partitioned_table
), bölüm sütunlarımız var year
(Dize), month
(Dize), day
(dize) ve hour
(sicim).
Tarayıcı, bu tanıma dayanarak yıl, ay, gün ve saat permütasyonunda bir dizin oluşturdu. Tarayıcı, ön eki olan dizinleri oluşturdu. crawler_
varsayılan olarak oluşturulan herhangi bir bölüm dizininde.
Tabloya giderek aynı şeyi doğrulayın highly_partitioned_table
AWS Glue konsolunda ve Dizinler sekmesi.
Tarayıcı, S3 veri kaynağını tarayabildi ve tablo için bölüm dizinlerini başarıyla doldurabildi.
Athena kullanarak sorgu performansı iyileştirmelerini karşılaştırın
Öncelikle partition index kullanmadan Athena'daki tabloyu sorguluyoruz. Athena'yı kullanarak tabloları doğrulamak için aşağıdaki adımları tamamlayın:
- Athena konsolunda, seçin
crawler-primary-workgroup
Athena çalışma grubu olarak seçin ve kabul. - Aşağıdaki sorguyu çalıştırın:
Aşağıdaki ekran görüntüsü, bölüm dizini kullanılarak filtreleme etkinleştirilmeden sorgunun yaklaşık 32 saniye sürdüğünü göstermektedir.
- Şimdi Athena sorgusunda bölüm dizinini etkinleştiriyoruz:
- Aşağıdaki sorguyu tekrar çalıştırın ve çalışma zamanını not edin:
Aşağıdaki ekran görüntüsü, sorgunun yalnızca 700 milisaniye sürdüğünü göstermektedir; bu, bölüm dizini kullanılarak etkinleştirilmiş filtreleme ile çok daha hızlıdır.
Temizlemek
AWS hesabınızdan istenmeyen ücretler alınmasını önlemek için AWS kaynaklarını silebilirsiniz:
- CloudFormation yığınını oluşturmak için kullanılan IAM yöneticisi olarak CloudFormation konsolunda oturum açın.
- Oluşturduğunuz CloudFormation yığınını silin.
Sonuç
Bu gönderide, bölüm dizinleri oluşturmak için bir AWS tarayıcısının nasıl yapılandırılacağını açıkladık ve Athena'nın dizinleriyle verilere erişirken sorgu performansını karşılaştırdık.
Tabloda herhangi bir bölüm dizini yoksa AWS Glue tablonun tüm bölümlerini yükler ve ardından yüklenen bölümleri filtreleyerek meta verilerin verimsiz bir şekilde alınmasına neden olur. Redshift Spectrum, Amazon EMR ve AWS Glue ETL Spark DataFrames gibi analiz hizmetleri artık bölümleri getirmek için dizinleri kullanabilir ve bu da önemli bir sorgu performansı sağlar.
Çeşitli analitik motorlarda bölüm dizinleri ve sorgu performansı hakkında daha fazla bilgi için bkz. AWS Glue Data Catalog bölüm dizinlerini kullanarak Amazon Athena sorgu performansını iyileştirin ve AWS Glue bölüm dizinlerini kullanarak sorgu performansını iyileştirin.
Bu paletli özellik lansmanına katkıda bulunan herkese özel teşekkürler: Yuhang Chen, Kyle Duong ve Mita Gavade.
yazarlar hakkında
Srividya Parthasarathy AWS Lake Formation ekibinde Kıdemli Büyük Veri Mimarıdır. Veri ağı çözümleri oluşturmaktan ve bunları toplulukla paylaşmaktan keyif alıyor.
Sandeep Adwankar AWS'de Kıdemli Teknik Ürün Müdürüdür. California Bay Area'da yerleşik olarak, iş ve teknik gereksinimleri, müşterilerin verileri yönetme, güvenlik altına alma ve verilere erişme yöntemlerini geliştirmelerini sağlayan ürünlere dönüştürmek için dünyanın dört bir yanındaki müşterilerle birlikte çalışır.
- 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/efficiently-crawl-your-data-lake-and-improve-data-access-with-aws-glue-crawler-using-partition-indexes/
- :vardır
- :dır-dir
- :Neresi
- $UP
- 1
- 100
- 11
- 27
- 32
- 8
- 9
- 90
- a
- Yapabilmek
- erişim
- erişme
- Hesap
- onaylamak
- karşısında
- eklemek
- Gizem
- tekrar
- Türkiye
- boyunca
- Ayrıca
- Amazon
- Amazon Atina
- Amazon EMR'si
- Amazon Web Servisleri
- tutarları
- an
- Analitik
- analytics
- ve
- herhangi
- yaklaşık olarak
- ARE
- ALAN
- etrafında
- AS
- At
- otomatik olarak
- mevcut
- önlemek
- AWS
- AWS CloudFormation
- AWS Tutkal
- AWS Göl Oluşumu
- merkezli
- Defne
- Çünkü
- olmuştur
- faydaları
- Büyük
- büyük Veri
- bina
- iş
- by
- Kaliforniya
- CAN
- katalog
- Sebeb olmak
- değişiklikler
- yükler
- chen
- Klinik
- seçme
- sınıflandırma
- Sütun
- Sütunlar
- geliyor
- topluluk
- karşılaştırmak
- karşılaştırıldığında
- tamamlamak
- konsolos
- devamlı olarak
- katkıda
- maliyetler
- paletli
- yaratmak
- çevrimiçi kurslar düzenliyorlar.
- oluşturur
- Oluşturma
- oluşturma
- akım
- Müşteriler
- veri
- veri erişim
- Veri Gölü
- veritabanı
- gün
- Varsayılan
- göstermek
- dağıtmak
- dağıtır
- tanımlamak
- ayrıntılar
- belirleyen
- keşfetti
- aşağı
- sırasında
- verimli biçimde
- ya
- etkinleştirmek
- etkin
- Motorlar
- Eter (ETH)
- herkes
- genişletilmiş
- açıkladı
- katlanarak
- çıkarmak
- veriyi çıkar
- Daha hızlı
- Özellikler(Hazırlık aşamasında)
- filtre
- süzme
- filtreler
- son
- takip et
- takip etme
- İçin
- oluşum
- itibaren
- üretir
- verilmiş
- dünya
- Büyümek
- Büyüyen
- Var
- he
- ağır
- ağırlık kaldırma
- büyük ölçüde
- ambar
- saat
- Ne kadar
- Nasıl Yapılır
- HTML
- http
- HTTPS
- IAM
- Kimlik
- iyileştirmek
- iyileşme
- iyileştirmeler
- in
- Artırmak
- Artışlar
- indeks
- indeksler
- verimsiz
- bilgi
- içine
- IT
- jpg
- tutmak
- koruma
- anahtarlar
- göl
- büyük
- başlatmak
- Düzen
- kaldırma
- sevmek
- çizgi
- yükler
- yapmak
- yönetmek
- yönetim
- müdür
- örgü
- Metadata
- olabilir
- milyonlarca
- dakika
- Ay
- Daha
- çok
- şart
- Gezin
- gezinme
- Navigasyon
- gerekli
- yeni
- yeni
- yok hayır
- şimdi
- numara
- of
- on
- bir tek
- optimize
- or
- sipariş
- bizim
- çıktı
- tekrar
- Kanal
- bölmesi
- yol
- performans
- Platon
- Plato Veri Zekası
- PlatoVeri
- Çivi
- mevcut
- işleme
- PLATFORM
- ürün müdürü
- Ürünler
- sağlamak
- azaltarak
- bölge
- gereklidir
- Yer Alan Kurallar
- gerektirir
- Kaynaklar
- Ortaya çıkan
- Sonuçlar
- Rol
- rolleri
- koşmak
- koşu
- aynı
- saniye
- Bölüm
- güvenli
- kıdemli
- Hizmetler
- set
- ayarlar
- paylaşımı
- o
- Gösteriler
- önemli
- önemli ölçüde
- Basit
- çözüm
- Çözümler
- Kaynak
- Kıvılcım
- Spektrum
- yığın
- Basamaklar
- hafızası
- mağaza
- basit
- dizi
- Başarılı olarak
- destek
- Sistemler
- tablo
- Bizi daha iyi tanımak için
- takım
- Teknik
- şablon
- Teşekkürler
- o
- The
- ve bazı Asya
- Onları
- sonra
- Bunlar
- onlar
- Re-Tweet
- zaman
- için
- bugünkü
- aldı
- çevirmek
- gerçek
- tip
- türleri
- altında
- anlamak
- istenmeyen
- Güncelleme
- kullanım
- Kullanılmış
- kullanma
- kullanmak
- değer
- Değerler
- çeşitli
- Geniş
- doğrulamak
- versiyon
- oldu
- Yol..
- we
- ağ
- web hizmetleri
- ne zaman
- hangi
- DSÖ
- irade
- ile
- olmadan
- Çalışma grubu
- çalışır
- Dünya
- tatlım
- yıl
- sen
- zefirnet