Zephyrnet Logosu

Açık kaynaklı işlem tablosu formatlarınız için Amazon Athena'yı Spark SQL ile kullanın | Amazon Web Hizmetleri

Tarih:

AWS destekli veri gölleri, benzersiz kullanılabilirlik ile desteklenir Amazon Basit Depolama Hizmeti (Amazon S3), farklı veri ve analiz yaklaşımlarını birleştirmek için gereken ölçeği, çevikliği ve esnekliği karşılayabilir. Veri göllerinin boyutu büyüdükçe ve kullanım olgunlaştıkça, verileri iş olaylarıyla tutarlı tutmak için önemli miktarda çaba harcanabilir. Dosyaların işlem açısından tutarlı bir şekilde güncellendiğinden emin olmak için giderek daha fazla müşteri, aşağıdaki gibi açık kaynaklı işlem tablosu formatlarını kullanıyor: Apaçi Buzdağı, Apaçi Hudi, ve Linux Vakfı Delta Gölü Verileri yüksek sıkıştırma oranlarıyla depolamanıza, uygulamalarınız ve çerçevelerinizle yerel olarak arayüz oluşturmanıza ve Amazon S3 üzerinde oluşturulan veri göllerinde artımlı veri işlemeyi basitleştirmenize yardımcı olur. Bu formatlar, ACID (atomiklik, tutarlılık, izolasyon, dayanıklılık) işlemlerini, yükseltmeleri ve silmeleri ve daha önce yalnızca veri ambarlarında mevcut olan zaman yolculuğu ve anlık görüntüler gibi gelişmiş özellikleri etkinleştirir. Her depolama formatı bu işlevselliği biraz farklı şekillerde uygular; bir karşılaştırma için bkz. AWS'deki işlemsel veri gölünüz için açık tablo formatı seçme.

2023 olarak, AWS genel kullanıma sunulduğunu duyurdu Apache Iceberg, Apache Hudi ve Linux Foundation Delta Lake için Apache Spark için Amazon Athenaayrı bir bağlayıcı veya ilgili bağımlılıklar kurma ve sürümleri yönetme ihtiyacını ortadan kaldırır ve bu çerçeveleri kullanmak için gereken yapılandırma adımlarını basitleştirir.

Bu yazıda size Spark SQL'in nasıl kullanılacağını göstereceğiz. Amazon Atina not defterleri ve Iceberg, Hudi ve Delta Lake tablo formatlarıyla çalışır. Athena'da Spark SQL kullanarak Amazon S3'te veritabanları ve tablolar oluşturma, tablolara veri ekleme, verileri sorgulama ve tabloların anlık görüntülerine bakma gibi ortak işlemleri gösteriyoruz.

Önkoşullar

Aşağıdaki ön koşulları tamamlayın:

Amazon S3'ten örnek not defterlerini indirin ve içe aktarın

Devam etmek için bu yazıda tartışılan not defterlerini aşağıdaki konumlardan indirin:

Not defterlerini indirdikten sonra aşağıdaki adımları izleyerek bunları Athena Spark ortamınıza aktarın. Bir not defterini içe aktarmak için bölümündeki bölüm Not defteri dosyalarını yönetme.

Belirli Açık Tablo Formatı bölümüne gidin

Buzdağı tablo formatıyla ilgileniyorsanız şuraya gidin: Apache Iceberg tablolarıyla çalışma Bölüm.

Hudi tablo formatıyla ilgileniyorsanız şuraya gidin: Apache Hudi tablolarıyla çalışma Bölüm.

Delta Lake tablo formatıyla ilgileniyorsanız şuraya gidin: Linux temeli Delta Lake tablolarıyla çalışma Bölüm.

Apache Iceberg tablolarıyla çalışma

Athena'da Spark not defterlerini kullanırken PySpark'ı kullanmanıza gerek kalmadan doğrudan SQL sorguları çalıştırabilirsiniz. Bunu, bir dizüstü bilgisayar hücresindeki hücrenin davranışını değiştiren özel başlıklar olan hücre büyülerini kullanarak yapıyoruz. SQL için şunları ekleyebiliriz: %%sql Bu büyü, tüm hücre içeriğini Athena'da çalıştırılacak bir SQL ifadesi olarak yorumlayacak.

Bu bölümde Apache Iceberg tablolarını oluşturmak, analiz etmek ve yönetmek için Apache Spark for Athena'da SQL'i nasıl kullanabileceğinizi gösteriyoruz.

Not defteri oturumu ayarlama

Athena'da Apache Iceberg'i kullanmak için bir oturum oluştururken veya düzenlerken Apaçi Buzdağı seçeneği genişleterek Apache Spark'ın özellikleri bölüm. Aşağıdaki ekran görüntüsünde gösterildiği gibi özellikleri önceden dolduracaktır.

Bu görüntü, Athena'da Spak oturumu oluşturulurken ayarlanan Apache Buzdağı özelliklerini gösterir.

Adımlar için bkz. Oturum ayrıntılarını düzenleme or Kendi not defterinizi oluşturma.

Bu bölümde kullanılan kod şu adreste mevcuttur: SparkSQL_iceberg.ipynb takip edilecek dosya.

Bir veritabanı ve Buzdağı tablosu oluşturun

Öncelikle AWS Glue Data Catalog'da bir veritabanı oluşturuyoruz. Aşağıdaki SQL ile adında bir veritabanı oluşturabiliriz. icebergdb:

%%sql
CREATE DATABASE icebergdb

Daha sonra veritabanında icebergdbadında bir Buzdağı tablosu oluşturuyoruz. noaa_iceberg Amazon S3'te verileri yükleyeceğimiz bir konumu işaret ediyor. Aşağıdaki ifadeyi çalıştırın ve konumu değiştirin s3://<your-S3-bucket>/<prefix>/ S3 klasörünüz ve önekiniz ile:

%%sql
CREATE TABLE icebergdb.noaa_iceberg(
station string,
date string,
latitude string,
longitude string,
elevation string,
name string,
temp string,
temp_attributes string,
dewp string,
dewp_attributes string,
slp string,
slp_attributes string,
stp string,
stp_attributes string,
visib string,
visib_attributes string,
wdsp string,
wdsp_attributes string,
mxspd string,
gust string,
max string,
max_attributes string,
min string,
min_attributes string,
prcp string,
prcp_attributes string,
sndp string,
frshtt string)
USING iceberg
PARTITIONED BY (year string)
LOCATION 's3://<your-S3-bucket>/<prefix>/noaaiceberg/'

Tabloya veri ekleme

doldurmak için noaa_iceberg Buzdağı tablosuna Parke tablosundan veri ekliyoruz sparkblogdb.noaa_pq Bu, önkoşulların bir parçası olarak oluşturuldu. Bunu bir kullanarak yapabilirsiniz TAKIN Spark'taki ifade:

%%sql
INSERT INTO icebergdb.noaa_iceberg select * from sparkblogdb.noaa_pq

Alternatif olarak, kullanabilirsiniz SEÇİM OLARAK TABLO OLUŞTUR Bir Buzdağı tablosu oluşturmak ve tek adımda kaynak tablodan veri eklemek için USING buzdağı cümleciğiyle:

%%sql
CREATE TABLE icebergdb.noaa_iceberg
USING iceberg
PARTITIONED BY (year)
AS SELECT * FROM sparkblogdb.noaa_pq

Buzdağı tablosunu sorgula

Artık veriler Buzdağı tablosuna eklendiğine göre analiz etmeye başlayabiliriz. Yıllara göre kaydedilen minimum sıcaklığı bulmak için bir Spark SQL çalıştıralım. 'SEATTLE TACOMA AIRPORT, WA US' Konumu:

%%sql
select name, year, min(MIN) as minimum_temperature
from icebergdb.noaa_iceberg
where name = 'SEATTLE TACOMA AIRPORT, WA US'
group by 1,2

Aşağıdaki çıktıyı alıyoruz.

Resimde ilk seçim sorgusunun çıktısı gösteriliyor

Buzdağı tablosundaki verileri güncelleme

Tablomuzdaki verileri nasıl güncelleyeceğimize bakalım. İstasyon adını güncellemek istiyoruz 'SEATTLE TACOMA AIRPORT, WA US' için 'Sea-Tac'. Spark SQL'i kullanarak bir çalıştırabiliriz. GÜNCELLEME Buzdağı tablosuna karşı açıklama:

%%sql
UPDATE icebergdb.noaa_iceberg
SET name = 'Sea-Tac'
WHERE name = 'SEATTLE TACOMA AIRPORT, WA US'

Daha sonra minimum kaydedilen sıcaklığı bulmak için önceki SELECT sorgusunu çalıştırabiliriz. 'Sea-Tac' Konumu:

%%sql
select name, year, min(MIN) as minimum_temperature
from icebergdb.noaa_iceberg
where name = 'Sea-Tac'
group by 1,2

Aşağıdaki çıktıyı alıyoruz.

Resimde ikinci seçme sorgusunun çıktısı gösteriliyor

Kompakt veri dosyaları

Iceberg gibi açık tablo formatları, dosya depolamada delta değişiklikleri oluşturarak ve bildirim dosyaları aracılığıyla satır sürümlerini izleyerek çalışır. Daha fazla veri dosyası, bildirim dosyalarında daha fazla meta verinin depolanmasına yol açar ve küçük veri dosyaları genellikle gereksiz miktarda meta veriye neden olarak daha az verimli sorgulara ve daha yüksek Amazon S3 erişim maliyetlerine neden olur. Buzdağının Çalıştırılması rewrite_data_files Spark for Athena'daki prosedür, birçok küçük delta değişiklik dosyasını daha küçük bir okuma için optimize edilmiş Parke dosyaları kümesinde birleştirerek veri dosyalarını sıkıştıracaktır. Dosyaların sıkıştırılması, sorgulandığında okuma işlemini hızlandırır. Tablomuzda sıkıştırmayı çalıştırmak için aşağıdaki Spark SQL'i çalıştırın:

%%sql
CALL spark_catalog.system.rewrite_data_files
(table => 'icebergdb.noaa_iceberg', strategy=>'sort', sort_order => 'zorder(name)')

rewrite_data_files seçenekler sunar Verilerin yeniden düzenlenmesine ve sıkıştırılmasına yardımcı olabilecek sıralama stratejinizi belirlemek için.

Tablo anlık görüntülerini listeleme

Bir Iceberg tablosundaki her yazma, güncelleme, silme, yükseltme ve sıkıştırma işlemi, tablonun yeni bir anlık görüntüsünü oluştururken, anlık görüntü izolasyonu ve zaman yolculuğu için eski verileri ve meta verileri ortalıkta tutar. Bir Iceberg tablosunun anlık görüntülerini listelemek için aşağıdaki Spark SQL deyimini çalıştırın:

%%sql
SELECT *
FROM spark_catalog.icebergdb.noaa_iceberg.snapshots

Eski anlık görüntülerin süresinin dolması

Artık gerekmeyen veri dosyalarını silmek ve tablo meta verilerinin boyutunu küçük tutmak için düzenli olarak süresi dolan anlık görüntülerin kullanılması önerilir. Süresi dolmamış bir anlık görüntünün hala gerekli olduğu dosyaları asla kaldırmaz. Spark for Athena'da, tablonun anlık görüntülerinin süresinin dolmasını sağlamak için aşağıdaki SQL'i çalıştırın icebergdb.noaa_iceberg belirli bir zaman damgasından daha eski olanlar:

%%sql
CALL spark_catalog.system.expire_snapshots
('icebergdb.noaa_iceberg', TIMESTAMP '2023-11-30 00:00:00.000')

Zaman damgası değerinin biçiminde bir dize olarak belirtildiğini unutmayın. yyyy-MM-dd HH:mm:ss.fff. Çıktı, silinen veri ve meta veri dosyalarının sayısını verecektir.

Tabloyu ve veritabanını bırakın

Bu alıştırmayı kullanarak Amazon S3'teki Iceberg tablolarını ve ilgili verileri temizlemek için aşağıdaki Spark SQL'i çalıştırabilirsiniz:

%%sql
DROP TABLE icebergdb.noaa_iceberg PURGE

Icebergdb veritabanını kaldırmak için aşağıdaki Spark SQL'i çalıştırın:

%%sql
DROP DATABASE icebergdb

Spark for Athena'yı kullanarak Iceberg tablolarında gerçekleştirebileceğiniz tüm işlemler hakkında daha fazla bilgi edinmek için bkz. Kıvılcım Sorguları ve Kıvılcım Prosedürleri Iceberg belgelerinde.

Apache Hudi tablolarıyla çalışma

Daha sonra, Apache Hudi tablolarını oluşturmak, analiz etmek ve yönetmek için Spark for Athena'da SQL'i nasıl kullanabileceğinizi göstereceğiz.

Not defteri oturumu ayarlama

Athena'da Apache Hudi'yi kullanmak için bir oturum oluştururken veya düzenlerken Apaçi Hudi seçeneği genişleterek Apache Spark'ın özellikleri Bölüm.

Bu görüntü, Athena'da Spak oturumu oluşturulurken ayarlanan Apache Hudi özelliklerini göstermektedir.

Adımlar için bkz. Oturum ayrıntılarını düzenleme or Kendi not defterinizi oluşturma.

Bu bölümde kullanılan kod şu adreste mevcut olmalıdır: SparkSQL_hudi.ipynb takip edilecek dosya.

Bir veritabanı ve Hudi tablosu oluşturun

Öncelikle adında bir veritabanı oluşturuyoruz. hudidb AWS Glue Data Catalog'da saklanacak ve ardından Hudi tablosu oluşturulacak:

%%sql
CREATE DATABASE hudidb

Amazon S3’te veriyi yükleyeceğimiz lokasyona işaret eden bir Hudi tablosu oluşturuyoruz. Tablonun şu şekilde olduğunu unutmayın: yazma üzerine kopyalama tip. Tarafından tanımlanır type= 'cow' DDL tablosunda. İstasyon ve tarihi birden fazla birincil anahtar olarak, preCombinedField'ı ise yıl olarak tanımladık. Ayrıca tablo yıllara göre bölümlendirilmiştir. Aşağıdaki ifadeyi çalıştırın ve konumu değiştirin s3://<your-S3-bucket>/<prefix>/ S3 klasörünüz ve önekiniz ile:

%%sql
CREATE TABLE hudidb.noaa_hudi(
station string,
date string,
latitude string,
longitude string,
elevation string,
name string,
temp string,
temp_attributes string,
dewp string,
dewp_attributes string,
slp string,
slp_attributes string,
stp string,
stp_attributes string,
visib string,
visib_attributes string,
wdsp string,
wdsp_attributes string,
mxspd string,
gust string,
max string,
max_attributes string,
min string,
min_attributes string,
prcp string,
prcp_attributes string,
sndp string,
frshtt string,
year string)
USING HUDI
PARTITIONED BY (year)
TBLPROPERTIES(
primaryKey = 'station, date',
preCombineField = 'year',
type = 'cow'
)
LOCATION 's3://<your-S3-bucket>/<prefix>/noaahudi/'

Tabloya veri ekleme

Iceberg'de olduğu gibi, şunu kullanıyoruz: TAKIN tablodaki verileri okuyarak tabloyu doldurma ifadesi sparkblogdb.noaa_pq önceki gönderide oluşturulan tablo:

%%sql
INSERT INTO hudidb.noaa_hudi select * from sparkblogdb.noaa_pq

Hudi tablosunu sorgula

Artık tablo oluşturulduğuna göre, oda için kaydedilen maksimum sıcaklığı bulmak için bir sorgu çalıştıralım. 'SEATTLE TACOMA AIRPORT, WA US' Konumu:

%%sql
select name, year, max(MAX) as maximum_temperature
from hudidb.noaa_hudi
where name = 'SEATTLE TACOMA AIRPORT, WA US'
group by 1,2

Hudi tablosundaki verileri güncelleyin

İstasyon adını değiştirelim 'SEATTLE TACOMA AIRPORT, WA US' için 'Sea–Tac'. Athena için Spark'ta bir UPDATE ifadesi çalıştırabiliriz. güncelleştirme kayıtları noaa_hudi tablosu:

%%sql
UPDATE hudidb.noaa_hudi
SET name = 'Sea-Tac'
WHERE name = 'SEATTLE TACOMA AIRPORT, WA US'

Kaydedilen maksimum sıcaklığı bulmak için önceki SELECT sorgusunu çalıştırıyoruz. 'Sea-Tac' Konumu:

%%sql
select name, year, max(MAX) as maximum_temperature
from hudidb.noaa_hudi
where name = 'Sea-Tac'
group by 1,2

Zaman yolculuğu sorgularını çalıştırma

Geçmiş veri anlık görüntülerini analiz etmek için Athena'da SQL'de zaman yolculuğu sorgularını kullanabiliriz. Örneğin:

%%sql
select name, year, max(MAX) as maximum_temperature
from hudidb.noaa_hudi timestamp as of '2023-12-01 23:53:43.100'
where name = 'SEATTLE TACOMA AIRPORT, WA US'
group by 1,2

Bu sorgu geçmişteki belirli bir zamana ait Seattle Havaalanı sıcaklık verilerini kontrol eder. Zaman damgası maddesi mevcut verileri değiştirmeden geriye gitmemizi sağlar. Zaman damgası değerinin biçiminde bir dize olarak belirtildiğini unutmayın. yyyy-MM-dd HH:mm:ss.fff.

Kümelemeyle sorgu hızını optimize edin

Sorgu performansını artırmak için şunları gerçekleştirebilirsiniz: kümeleme Athena için Spark'ta SQL kullanan Hudi tablolarında:

%%sql
CALL run_clustering(table => 'hudidb.noaa_hudi', order => 'name')

Kompakt masalar

Sıkıştırma, temel dosyanın yeni bir sürümünü oluşturmak için satır tabanlı günlük dosyalarından ilgili sütun tabanlı temel dosyaya güncellemeleri periyodik olarak birleştirmek için Hudi tarafından özellikle Okumada Birleştir (MOR) tablolarında kullanılan bir tablo hizmetidir. Sıkıştırma Yazıldığında Kopyala (COW) tabloları için geçerli değildir ve yalnızca MOR tabloları için geçerlidir. MOR tablolarında sıkıştırma gerçekleştirmek için Spark for Athena'da aşağıdaki sorguyu çalıştırabilirsiniz:

%%sql
CALL run_compaction(op => 'run', table => 'hudi_table_mor');

Tabloyu ve veritabanını bırakın

Oluşturduğunuz Hudi tablosunu ve ilişkili verileri Amazon S3 konumundan kaldırmak için aşağıdaki Spark SQL'i çalıştırın:

%%sql
DROP TABLE hudidb.noaa_hudi PURGE

Veritabanını kaldırmak için aşağıdaki Spark SQL'i çalıştırın hudidb:

%%sql
DROP DATABASE hudidb

Spark for Athena kullanarak Hudi tablolarında gerçekleştirebileceğiniz tüm işlemler hakkında bilgi edinmek için bkz. SQL DDL'si ve Prosedürleri Hudi belgelerinde.

Linux temeli Delta Lake tablolarıyla çalışma

Daha sonra Delta Lake tablolarını oluşturmak, analiz etmek ve yönetmek için Spark for Athena'da SQL'i nasıl kullanabileceğinizi göstereceğiz.

Not defteri oturumu ayarlama

Bir oturum oluştururken veya düzenlerken Spark for Athena'da Delta Lake'i kullanmak için Linux Vakfı Delta Gölü genişleterek Apache Spark'ın özellikleri Bölüm.

Bu görüntü, Athena'da Spak oturumu oluşturulurken ayarlanan Delta Lake özelliklerini gösterir.

Adımlar için bkz. Oturum ayrıntılarını düzenleme or Kendi not defterinizi oluşturma.

Bu bölümde kullanılan kod şu adreste mevcut olmalıdır: SparkSQL_delta.ipynb takip edilecek dosya.

Veritabanı ve Delta Lake tablosu oluşturma

Bu bölümde AWS Glue Data Catalog'da bir veritabanı oluşturuyoruz. Aşağıdaki SQL'i kullanarak, adında bir veritabanı oluşturabiliriz. deltalakedb:

%%sql
CREATE DATABASE deltalakedb

Daha sonra veritabanında deltalakedbadında bir Delta Lake tablosu oluşturuyoruz. noaa_delta Amazon S3'te verileri yükleyeceğimiz bir konumu işaret ediyor. Aşağıdaki ifadeyi çalıştırın ve konumu değiştirin s3://<your-S3-bucket>/<prefix>/ S3 klasörünüz ve önekiniz ile:

%%sql
CREATE TABLE deltalakedb.noaa_delta(
station string,
date string,
latitude string,
longitude string,
elevation string,
name string,
temp string,
temp_attributes string,
dewp string,
dewp_attributes string,
slp string,
slp_attributes string,
stp string,
stp_attributes string,
visib string,
visib_attributes string,
wdsp string,
wdsp_attributes string,
mxspd string,
gust string,
max string,
max_attributes string,
min string,
min_attributes string,
prcp string,
prcp_attributes string,
sndp string,
frshtt string)
USING delta
PARTITIONED BY (year string)
LOCATION 's3://<your-S3-bucket>/<prefix>/noaadelta/'

Tabloya veri ekleme

Biz kullanıyoruz TAKIN tablodaki verileri okuyarak tabloyu doldurma ifadesi sparkblogdb.noaa_pq önceki gönderide oluşturulan tablo:

%%sql
INSERT INTO deltalakedb.noaa_delta select * from sparkblogdb.noaa_pq

Delta Lake tablosu oluşturmak ve kaynak tablodan tek sorguya veri eklemek için CREATE TABLE AS SELECT seçeneğini de kullanabilirsiniz.

Delta Lake tablosunu sorgulayın

Artık veriler Delta Lake tablosuna eklendiğine göre analiz etmeye başlayabiliriz. Kaydedilen minimum sıcaklığı bulmak için bir Spark SQL çalıştıralım. 'SEATTLE TACOMA AIRPORT, WA US' Konumu:

%%sql
select name, year, max(MAX) as minimum_temperature
from deltalakedb.noaa_delta
where name = 'SEATTLE TACOMA AIRPORT, WA US'
group by 1,2

Delta gölü tablosundaki verileri güncelleme

İstasyon adını değiştirelim 'SEATTLE TACOMA AIRPORT, WA US' için 'Sea–Tac'. Çalıştırabiliriz GÜNCELLEME Athena'nın kayıtlarını güncellemek için Spark'a ilişkin açıklama noaa_delta tablosu:

%%sql
UPDATE deltalakedb.noaa_delta
SET name = 'Sea-Tac'
WHERE name = 'SEATTLE TACOMA AIRPORT, WA US'

Kaydedilen minimum sıcaklığı bulmak için önceki SELECT sorgusunu çalıştırabiliriz. 'Sea-Tac' konum ve sonuç öncekiyle aynı olmalıdır:

%%sql
select name, year, max(MAX) as minimum_temperature
from deltalakedb.noaa_delta
where name = 'Sea-Tac'
group by 1,2

Kompakt veri dosyaları

Athena için Spark'ta, küçük dosyaları daha büyük dosyalara sıkıştıracak olan Delta Lake tablosunda OPTIMIZE'ı çalıştırabilirsiniz, böylece sorgular küçük dosya yükünün yükünü taşımaz. Sıkıştırma işlemini gerçekleştirmek için aşağıdaki sorguyu çalıştırın:

%%sql
OPTIMIZE deltalakedb.noaa_delta

Bakın Optimizasyonları OPTIMIZE çalıştırılırken kullanılabilen farklı seçenekler için Delta Lake belgelerinde.

Artık Delta Lake tablosu tarafından referans verilmeyen dosyaları kaldırın

Amazon S3'te depolanan, artık bir Delta Lake tablosu tarafından başvurulmayan ve saklama eşiğinden daha eski olan dosyaları, Spark for Athena'yı kullanarak tablodaki VACCUM komutunu çalıştırarak kaldırabilirsiniz:

%%sql
VACUUM deltalakedb.noaa_delta

Bakın Artık Delta tablosu tarafından referans verilmeyen dosyaları kaldırın VACUUM ile kullanılabilen seçenekler için Delta Lake belgelerinde.

Tabloyu ve veritabanını bırakın

Oluşturduğunuz Delta Lake tablosunu kaldırmak için aşağıdaki Spark SQL'i çalıştırın:

%%sql
DROP TABLE deltalakedb.noaa_delta

Veritabanını kaldırmak için aşağıdaki Spark SQL'i çalıştırın deltalakedb:

%%sql
DROP DATABASE deltalakedb

DROP TABLE DDL'nin Delta Lake tablosunda ve veritabanında çalıştırılması bu nesnelerin meta verilerini siler ancak Amazon S3'teki veri dosyalarını otomatik olarak silmez. Verileri S3 konumundan silmek için not defterinin hücresinde aşağıdaki Python kodunu çalıştırabilirsiniz:

import boto3

s3 = boto3.resource('s3')
bucket = s3.Bucket('<your-S3-bucket>')
bucket.objects.filter(Prefix="<prefix>/noaadelta/").delete()

Spark for Athena'yı kullanarak Delta Lake tablosunda çalıştırabileceğiniz SQL ifadeleri hakkında daha fazla bilgi edinmek için bkz. hızlı başlangıç Delta Lake belgelerinde.

Sonuç

Bu gönderi, veritabanları ve tablolar oluşturmak, verileri eklemek ve sorgulamak ve Hudi, Delta Lake ve Iceberg tablolarında güncellemeler, sıkıştırmalar ve zaman yolculuğu gibi ortak işlemleri gerçekleştirmek için Athena not defterlerinde Spark SQL'in nasıl kullanılacağını gösterdi. Açık tablo formatları, veri göllerine ACID işlemleri, artışlar ve silmeler ekleyerek ham nesne depolama sınırlamalarının üstesinden gelir. Spark on Athena'nın yerleşik entegrasyonu, ayrı bağlayıcılar kurma ihtiyacını ortadan kaldırarak, Amazon S3'te güvenilir veri gölleri oluşturmak için bu popüler çerçeveleri kullanırken yapılandırma adımlarını ve yönetim yükünü azaltır. Data lake iş yükleriniz için açık tablo formatı seçme hakkında daha fazla bilgi edinmek için bkz. AWS'deki işlemsel veri gölünüz için açık tablo formatı seçme.


Yazarlar Hakkında

Pathik Şah Amazon Athena'da Kıdemli Analitik Mimarıdır. AWS'ye 2015 yılında katıldı ve o zamandan bu yana büyük veri analitiği alanına odaklanarak müşterilerin AWS analiz hizmetlerini kullanarak ölçeklenebilir ve sağlam çözümler oluşturmasına yardımcı oluyor.

Raj Devnath Amazon Athena'da AWS'de Ürün Yöneticisidir. Müşterilerin sevdiği ürünler oluşturma ve müşterilerin verilerinden değer elde etmelerine yardımcı olma konusunda tutkulu. Geçmişi finans, perakende, akıllı binalar, ev otomasyonu ve veri iletişim sistemleri gibi çok sayıda son pazara yönelik çözümler sunmaktır.

spot_img

En Son İstihbarat

spot_img