AWS Glue Studio'da on yeni görsel dönüşüm

AWS Glue Studio'da on yeni görsel dönüşüm

Kaynak Düğüm: 2641422

AWS Tutkal Stüdyosu ayıklama, dönüştürme ve yükleme (ETL) işleri oluşturmayı, çalıştırmayı ve izlemeyi kolaylaştıran bir grafik arabirimdir. AWS Tutkal. Daha sonra çalıştırılmak üzere otomatik olarak koda dönüştürülen farklı veri işleme adımlarını temsil eden düğümleri kullanarak veri dönüştürme iş akışlarını görsel olarak oluşturmanıza olanak tanır.

AWS Tutkal Stüdyosu Kısa bir süre önce serbest bırakıldı Kodlama becerileri olmadan görsel bir şekilde daha gelişmiş işler oluşturmaya olanak tanıyan 10 görsel dönüşüm daha. Bu yazıda, ortak ETL ihtiyaçlarını yansıtan potansiyel kullanım durumlarını tartışıyoruz.

Bu gönderide gösterilecek yeni dönüşümler şunlardır: Birleştir, Dizeyi Böl, Sütunlara Dizi, Geçerli Zaman Damgası Ekle, Sütunlara Satırları Pivotla, Sütunları Satırlara Özetle, Arama, Diziyi Patlat veya Sütunlara Eşle, Türetilmiş Sütun ve Otomatik Dengeleme İşleme .

Çözüme genel bakış

Bu kullanım durumunda, hisse senedi opsiyon işlemlerine sahip bazı JSON dosyalarımız var. Verileri depolamadan önce analiz etmeyi kolaylaştırmak için bazı dönüşümler yapmak istiyoruz ve ayrıca ayrı bir veri seti özeti üretmek istiyoruz.

Bu veri kümesinde, her satır bir opsiyon sözleşmesi ticaretini temsil eder. Opsiyonlar, hisse senetlerini sabit bir fiyattan satın alma veya satma hakkı sağlayan ancak bu yükümlülüğü sağlamayan finansal araçlardır.  grev fiyatı) tanımlanmış bir son kullanma tarihinden önce.

Veri girişi

Veriler aşağıdaki şemayı takip eder:

  • Sipariş Kimliği – Benzersiz bir kimlik
  • sembol – Dayanak hisse senetlerini ihraç eden şirketi tanımlamak için genellikle birkaç harfe dayanan bir kod
  • enstrüman – Alınmakta veya satılmakta olan belirli seçeneği tanımlayan ad
  • para – Fiyatın ifade edildiği ISO para birimi kodu
  • fiyat – Her bir opsiyon sözleşmesinin satın alınması için ödenen tutar (çoğu borsada, bir sözleşme 100 hisse senedi alıp satmanıza izin verir)
  • takas – Opsiyonun işlem gördüğü takas merkezinin veya yerinin kodu
  • satılan – Bu bir satış işlemi olduğunda, satış emrini doldurmak için tahsis edilen sözleşme sayısının bir listesi
  • aldım – Bu alım satımı olduğunda alım emrini doldurmak için tahsis edilen sözleşme sayısının listesi

Aşağıda, bu gönderi için oluşturulan sentetik verilerin bir örneği verilmiştir:

{"order_id": 1679931512485, "symbol": "AMZN", "instrument": "AMZN MAR 24 23 102 PUT", "currency": "usd", "price": 17.18, "exchange": "EDGX", "bought": [18, 38]}
{"order_id": 1679931512486, "symbol": "BMW.DE", "instrument": "BMW.DE MAR 24 23 96 PUT", "currency": "eur", "price": 2.98, "exchange": "XETR", "bought": [28]}
{"order_id": 1679931512487, "symbol": "BMW.DE", "instrument": "BMW.DE APR 28 23 101 CALL", "currency": "eur", "price": 14.71, "exchange": "XETR", "sold": [9, 59, 54]}
{"order_id": 1679931512489, "symbol": "JPM", "instrument": "JPM JUN 30 23 140 CALL", "currency": "usd", "price": 11.83, "exchange": "EDGX", "bought": [33, 42, 55, 67]}
{"order_id": 1679931512490, "symbol": "SIE.DE", "instrument": "SIE.DE MAR 24 23 149 CALL", "currency": "eur", "price": 13.68, "exchange": "XETR", "bought": [96, 89, 82]}
{"order_id": 1679931512491, "symbol": "NKE", "instrument": "NKE MAR 24 23 112 CALL", "currency": "usd", "price": 3.23, "exchange": "EDGX", "sold": [67]}
{"order_id": 1679931512492, "symbol": "AMZN", "instrument": "AMZN MAY 26 23 95 CALL", "currency": "usd", "price": 11.44, "exchange": "EDGX", "sold": [41, 62, 12]}
{"order_id": 1679931512493, "symbol": "JPM", "instrument": "JPM MAR 24 23 121 PUT", "currency": "usd", "price": 1.0, "exchange": "EDGX", "bought": [61, 34]}
{"order_id": 1679931512494, "symbol": "SAP.DE", "instrument": "SAP.DE MAR 24 23 132 CALL", "currency": "eur", "price": 15.9, "exchange": "XETR", "bought": [69, 33]}

ETL gereklilikleri

Bu veriler, genellikle eski sistemlerde bulunan ve verilerin kullanımını zorlaştıran bir dizi benzersiz özelliğe sahiptir.

Aşağıdakiler ETL gereklilikleridir:

  • Araç adı, insanların anlaması amaçlanan değerli bilgilere sahiptir; daha kolay analiz için onu ayrı sütunlara normalleştirmek istiyoruz.
  • nitelikler bought ve sold karşılıklı olarak münhasırdır; bunları sözleşme numaralarıyla tek bir sütunda konsolide edebilir ve bu sırayla alınan veya satılan sözleşmeleri gösteren başka bir sütuna sahip olabiliriz.
  • Kullanıcıları bir sayı dizisiyle uğraşmaya zorlamak yerine, bireysel sözleşme tahsisleri hakkındaki bilgileri ayrı satırlar olarak tutmak istiyoruz. Rakamları toplayabiliriz, ancak emrin nasıl doldurulduğuna ilişkin bilgileri kaybederiz (piyasa likiditesini gösterir). Bunun yerine, tabloyu denormalize etmeyi seçiyoruz, böylece her satırda tek sayıda sözleşme olacak ve çok sayıdaki siparişleri ayrı satırlara böleceğiz. Sıkıştırılmış sütun biçiminde, sıkıştırma uygulandığında bu yinelemenin ekstra veri kümesi boyutu genellikle küçüktür, bu nedenle veri kümesinin sorgulanmasını kolaylaştırmak kabul edilebilir.
  • Her hisse senedi için her opsiyon tipi (alma ve satma) için özet bir hacim tablosu oluşturmak istiyoruz. Bu, her hisse senedi ve genel olarak piyasa için piyasa duyarlılığının bir göstergesidir (açgözlülüğe karşı korku).
  • Genel ticaret özetlerini etkinleştirmek için, her işlem için genel toplamı sağlamak ve yaklaşık bir dönüştürme referansı kullanarak para birimini ABD dolarına standart hale getirmek istiyoruz.
  • Bu dönüşümlerin gerçekleştiği tarihi eklemek istiyoruz. Bu, örneğin, para birimi dönüştürmenin ne zaman yapıldığına dair bir referansa sahip olmak için faydalı olabilir.

Bu gereksinimlere bağlı olarak, iş iki çıktı üretecektir:

  • Her sembol ve tür için sözleşme sayısının özetini içeren bir CSV dosyası
  • Belirtilen dönüşümleri yaptıktan sonra siparişin geçmişini tutmak için bir katalog tablosu
    Veri şeması

Önkoşullar

Bu kullanım durumunu takip etmek için kendi S3 klasörünüze ihtiyacınız olacak. Yeni bir grup oluşturmak için bkz. Bir kova oluşturma.

Sentetik veri oluştur

Bu gönderiyi takip etmek (veya bu tür verileri kendi başınıza denemek) için bu veri kümesini sentetik olarak oluşturabilirsiniz. Aşağıdaki Python betiği, Boto3'ün kurulu olduğu bir Python ortamında çalıştırılabilir ve Amazon Basit Depolama Hizmeti (Amazon S3).

Verileri oluşturmak için aşağıdaki adımları tamamlayın:

  1. AWS Glue Studio'da, seçeneğiyle yeni bir iş oluşturun Python kabuk komut dosyası düzenleyicisi.
  2. İşe bir ad verin ve İş detayları sekmesini seçin uygun rol ve Python betiği için bir ad.
  3. içinde İş detayları bölüm, genişlet Gelişmiş özellikler ve aşağı kaydırın İş parametreleri.
  4. adında bir parametre girin --bucket ve örnek verileri depolamak için kullanmak istediğiniz klasörün adını değer olarak atayın.
  5. AWS Glue kabuk düzenleyicisine aşağıdaki betiği girin:
    import argparse
    import boto3
    from datetime import datetime
    import io
    import json
    import random
    import sys # Configuration
    parser = argparse.ArgumentParser()
    parser.add_argument('--bucket')
    args, ignore = parser.parse_known_args()
    if not args.bucket: raise Exception("This script requires an argument --bucket with the value specifying the S3 bucket where to store the files generated") data_bucket = args.bucket
    data_path = "transformsblog/inputdata"
    samples_per_file = 1000 # Create a single file with synthetic data samples
    s3 = boto3.client('s3')
    buff = io.BytesIO() sample_stocks = [("AMZN", 95, "usd"), ("NKE", 120, "usd"), ("JPM", 130, "usd"), ("KO", 130, "usd"), ("BMW.DE", 95, "eur"), ("SIE.DE", 140, "eur"), ("SAP.DE", 115, "eur")]
    option_type = ["PUT", "CALL"]
    operations = ["sold", "bought"]
    dates = ["MAR 24 23", "APR 28 23", "MAY 26 23", "JUN 30 23"]
    for i in range(samples_per_file): stock = random.choice(sample_stocks) symbol = stock[0] ref_price = stock[1] currency = stock[2] strike_price = round(ref_price * 0.9 + ref_price * random.uniform(0.01, 0.3)) sample = { "order_id": int(datetime.now().timestamp() * 1000) + i, "symbol": stock[0], "instrument":f"{symbol} {random.choice(dates)} {strike_price} {random.choice(option_type)}", "currency": currency, "price": round(random.uniform(0.5, 20.1), 2), "exchange": "EDGX" if currency == "usd" else "XETR" } sample[random.choice(operations)] = [random.randrange(1,100) for i in range(random.randrange(1,5))] buff.write(json.dumps(sample).encode()) buff.write("n".encode()) s3.put_object(Body=buff.getvalue(), Bucket=data_bucket, Key=f"{data_path}/{int(datetime.now().timestamp())}.json")

  6. İşi çalıştırın ve Çalıştırma sekmesinde başarıyla tamamlandı olarak görünene kadar bekleyin (yalnızca birkaç saniye sürer).

Her çalıştırma, belirtilen grup ve önek altında 1,000 satırlık bir JSON dosyası oluşturur. transformsblog/inputdata/. Daha fazla girdi dosyasıyla test etmek istiyorsanız, işi birden çok kez çalıştırabilirsiniz.
Yapay verilerdeki her satır, aşağıdaki gibi bir JSON nesnesini temsil eden bir veri satırıdır:

{ "order_id":1681986991888, "symbol":"AMZN", "instrument":"AMZN APR 28 23 100 PUT", "currency":"usd", "price":2.89, "exchange":"EDGX", "sold":[88,49]
}

AWS Glue görsel işini oluşturun

AWS Glue görsel işini oluşturmak için aşağıdaki adımları tamamlayın:

  1. AWS Glue Studio'ya gidin ve seçeneği kullanarak bir iş oluşturun Boş bir tuval ile görsel.
  2. Düzenle Untitled job bir isim vermek ve atamak için AWS Glue için uygun bir rol üzerinde İş detayları sekmesi.
  3. Bir S3 veri kaynağı ekleyin (adını siz verebilirsiniz) JSON files source) ve dosyaların saklandığı S3 URL'sini girin (örneğin, s3://<your bucket name>/transformsblog/inputdata/), ardından seçin JSON veri biçimi olarak.
  4. seç çıkarım şeması bu nedenle, verilere dayalı olarak çıktı şemasını ayarlar.

Bu kaynak düğümden dönüşümleri zincirlemeye devam edeceksiniz. Her dönüşümü eklerken, talimatlarda aksi belirtilmediği sürece, seçilen düğümün en son eklenen düğüm olduğundan emin olun, böylece üst düğüm olarak atanır.

Doğru üst öğeyi seçmediyseniz, üst öğeyi seçip yapılandırma bölmesinde başka bir üst öğeyi seçerek her zaman düzenleyebilirsiniz.

Düğüm üst yapılandırması

Eklenen her düğüm için, ona belirli bir ad (böylece düğüm amacı grafikte görünür) ve yapılandırma Dönüştürmek sekmesi.

Bir dönüşüm şemayı her değiştirdiğinde (örneğin, yeni bir sütun ekle), çıkış şemasının aşağı akış dönüşümleri tarafından görülebilmesi için güncellenmesi gerekir. Çıktı şemasını manuel olarak düzenleyebilirsiniz, ancak bunu veri ön izlemeyi kullanarak yapmak daha pratik ve daha güvenlidir.
Ek olarak, bu şekilde dönüşümün beklendiği gibi çalıştığını doğrulayabilirsiniz. Bunu yapmak için, Veri önizlemesi sekmesini seçin ve bir önizleme oturumu başlatın. Dönüştürülen verilerin beklendiği gibi göründüğünü doğruladıktan sonra şuraya gidin: çıktı şeması sekme ve seçim Veri önizleme şemasını kullan şemayı otomatik olarak güncellemek için.

Siz yeni dönüşüm türleri ekledikçe önizleme, eksik bir bağımlılık hakkında bir mesaj gösterebilir. Bu olduğunda, seçin Oturum sonu ve yeni bir tane başlatın, böylece önizleme yeni tür düğümü alır.

Enstrüman bilgilerini çıkar

Elde edilen çıktı tablosunda erişimi daha kolay olan sütunlara normalleştirmek için alet adındaki bilgileri ele alarak başlayalım.

  1. eklemek Bölünmüş Dize düğüm ve adlandırın Split instrument, bir boşluk regex'i kullanarak araç sütununu belirtecek: s+ (bu durumda tek bir boşluk olur, ancak bu yol daha esnek ve görsel olarak daha nettir).
  2. Orijinal araç bilgilerini olduğu gibi tutmak istiyoruz, bu nedenle bölünmüş dizi için yeni bir sütun adı girin: instrument_arr.
    Bölünmüş yapılandırma
  3. Ekle Sütunlara Dizi düğüm ve adlandırın Instrument columns yeni oluşturulan dizi sütununu yeni alanlara dönüştürmek için, hariç symbol, bunun için zaten bir sütunumuz var.
  4. sütunu seçin instrument_arr, ilk belirteci atlayın ve çıkış sütunlarını çıkarmasını söyleyin month, day, year, strike_price, type dizinleri kullanma 2, 3, 4, 5, 6 (virgüllerden sonraki boşluklar okunabilirlik içindir, yapılandırmayı etkilemezler).
    dizi yapılandırması

Çıkarılan yıl yalnızca iki basamakla ifade edilir; Sadece iki rakam kullanırlarsa, bu yüzyılda olduğunu varsaymak için bir geçici boşluk koyalım.

  1. eklemek Türetilmiş Sütun düğüm ve adlandırın Four digits year.
  2. Keşfet year türetilmiş sütun olarak geçersiz kılar ve aşağıdaki SQL ifadesini girin:
    CASE WHEN length(year) = 2 THEN ('20' || year) ELSE year END
    Yıldan türetilmiş sütun yapılandırması

Kolaylık sağlamak için, bir expiration_date Bir kullanıcının, seçeneğin kullanılabileceği son tarihin referansı olarak sahip olabileceği alan.

  1. eklemek Sütunları Birleştir düğüm ve adlandırın Build expiration date.
  2. Yeni sütuna ad verin expiration_date, sütunları seçin year, month, ve day (bu sırayla) ve ayırıcı olarak bir tire.
    Birleştirilmiş tarih yapılandırması

Şema şimdiye kadar aşağıdaki örnek gibi görünmelidir.

DAG

Şimdiye kadar yeni sütunların veri önizlemesi aşağıdaki ekran görüntüsü gibi görünmelidir.

Veri önizlemesi

Sözleşme sayısını normalleştirin

Verilerdeki satırların her biri, alınan veya satılan her bir opsiyonun sözleşme sayısını ve siparişlerin doldurulduğu partileri gösterir. Ayrı partiler hakkındaki bilgileri kaybetmeden, her bir miktarın tek bir miktar değeriyle ayrı bir satırda olmasını, bilgilerin geri kalanının ise üretilen her satırda çoğaltılmasını istiyoruz.

İlk olarak, tutarları tek bir sütunda birleştirelim.

  1. Ekle Sütunları Satırlara Dönüştür düğüm ve adlandırın Unpivot actions.
  2. sütunları seçin bought ve sold adları ve değerleri özetlemek ve adlandırılmış sütunlarda depolamak için action ve contracts, Sırasıyla.
    Özeti kaldır yapılandırma
    Önizlemede dikkat edin, yeni sütun contracts bu dönüşümden sonra hala bir sayı dizisidir.
  1. Ekle Diziyi Patlat veya Satırlara Eşle sıra adlı Explode contracts.
  2. Seçin contracts sütun ve girin contracts geçersiz kılmak için yeni sütun olarak (orijinal diziyi tutmamıza gerek yok).

Önizleme artık her satırın tek bir satıra sahip olduğunu gösteriyor. contracts tutar ve alanların geri kalanı aynıdır.

Bu da demek oluyor ki order_id artık benzersiz bir anahtar değil. Kendi kullanım durumlarınız için, verilerinizi nasıl modelleyeceğinize ve denormalize etmek isteyip istemediğinize karar vermeniz gerekir.
patlatma yapılandırması

Aşağıdaki ekran görüntüsü, şu ana kadar yapılan dönüşümlerden sonra yeni sütunların nasıl göründüğüne bir örnektir.
Veri önizlemesi

Bir özet tablosu oluşturun

Şimdi, her bir tür ve her bir hisse senedi sembolü için işlem gören sözleşme sayısını içeren bir özet tablo oluşturabilirsiniz.

Örnek olması açısından, işlenen dosyaların tek bir güne ait olduğunu varsayalım, bu özet iş kullanıcılarına o günkü piyasa ilgi ve duyarlılığının ne olduğu hakkında bilgi verir.

  1. eklemek Alanları Seç düğümü ve özet için saklamak üzere aşağıdaki sütunları seçin: symbol, type, ve contracts.
    Seçili alanlar
  2. eklemek Satırları Sütunlara Dönüştür düğüm ve adlandırın Pivot summary.
  3. üzerinde topla contracts kullanarak sütun sum ve dönüştürmeyi seçin type sütun.
    Özet yapılandırma

Normalde, onu referans için bazı harici veri tabanlarında veya dosyalarda saklarsınız; bu örnekte, onu Amazon S3'te bir CSV dosyası olarak kaydediyoruz.

  1. Ekle Otomatik Denge İşleme düğüm ve adlandırın Single output file.
  2. Bu dönüştürme türü normalde paralelliği optimize etmek için kullanılsa da, burada çıktıyı tek bir dosyaya indirgemek için kullanıyoruz. Bu nedenle, girin 1 bölüm yapılandırması sayısında.
    otomatik dengeleme yapılandırması
  3. Bir S3 hedefi ekleyin ve adlandırın CSV Contract summary.
  4. Veri biçimi olarak CSV'yi seçin ve iş rolünün dosyaları depolamasına izin verilen bir S3 yolu girin.

İşin son kısmı şimdi aşağıdaki örnekteki gibi görünmelidir.
DAG

  1. İşi kaydedin ve çalıştırın. Kullan Runs başarıyla tamamlandığını kontrol etmek için sekmesini tıklayın.
    Bu uzantıya sahip olmamanıza rağmen, bu yolun altında CSV olan bir dosya bulacaksınız. Açmak için muhtemelen indirdikten sonra uzantıyı eklemeniz gerekecek.
    CSV'yi okuyabilen bir araçta özet, aşağıdaki örnekteki gibi görünmelidir.
    Tablo

Geçici sütunları temizle

Gelecekteki analizler için siparişleri tarihsel bir tabloya kaydetmeye hazırlık olarak, yol boyunca oluşturulan bazı geçici sütunları temizleyelim.

  1. eklemek Alanları Bırak ile düğüm Explode contracts düğüm üst öğesi olarak seçildi (ayrı bir çıktı oluşturmak için veri ardışık düzenini dallandırıyoruz).
  2. Bırakılacak alanları seçin: instrument_arr, month, day, ve year.
    Gerisini daha sonra oluşturacağımız tarihsel tabloya kaydedilmesi için saklamak istiyoruz.
    Alanları bırak

Para birimi standardizasyonu

Bu sentetik veriler, iki para birimi üzerinde kurgusal işlemler içerir, ancak gerçek bir sistemde dünyanın her yerindeki piyasalardan para birimleri alabilirsiniz. Raporlama ve analiz için kolayca karşılaştırılabilmeleri ve bir araya getirilebilmeleri için, işlenen para birimlerini tek bir referans para biriminde standartlaştırmak yararlıdır.

Biz kullanmak Amazon Atina periyodik olarak güncellenen yaklaşık para birimi dönüşümlerini içeren bir tabloyu simüle etmek için (burada siparişleri yeterince zamanında işlediğimizi ve dönüşümün karşılaştırma amaçları için makul bir temsilci olduğunu varsayıyoruz).

  1. AWS Glue kullandığınız Bölgede Athena konsolunu açın.
  2. Hem Athena hem de AWS Glue rollerinizin okuyup yazabileceği bir S3 konumu ayarlayarak tabloyu oluşturmak için aşağıdaki sorguyu çalıştırın. Ayrıca, tabloyu farklı bir veritabanında saklamak isteyebilirsiniz. default (bunu yaparsanız, verilen örneklerde uygun şekilde tablo nitelenmiş adını güncelleyin).
    CREATE EXTERNAL TABLE default.exchange_rates(currency string, exchange_rate double)
    ROW FORMAT DELIMITED
    FIELDS TERMINATED BY ','
    STORED AS TEXTFILE
    LOCATION 's3://<enter some bucket>/exchange_rates/';

  3. Tabloya birkaç örnek dönüşüm girin:
    INSERT INTO default.exchange_rates VALUES ('usd', 1.0), ('eur', 1.09), ('gbp', 1.24);
  4. Artık tabloyu aşağıdaki sorgu ile görüntüleyebilmeniz gerekir:
    SELECT * FROM default.exchange_rates
  5. AWS Glue görsel işine geri dönün, bir Arama düğüm (çocuğu olarak Drop Fields) ve adlandırın Exchange rate.
  6. Kullanarak yeni oluşturduğunuz tablonun nitelikli adını girin. currency tuşu olarak seçin ve exchange_rate kullanılacak alan.
    Alan hem verilerde hem de arama tablosunda aynı şekilde adlandırıldığından, sadece adı girebiliyoruz. currency ve bir eşleme tanımlamanıza gerek yoktur.Arama yapılandırması
    Bu yazının yazıldığı sırada, veri önizlemesinde Arama dönüşümü desteklenmiyor ve tablonun var olmadığına dair bir hata gösterecek. Bu yalnızca veri önizlemesi içindir ve işin düzgün çalışmasını engellemez. Gönderinin kalan birkaç adımı, şemayı güncellemenizi gerektirmez. Diğer düğümlerde bir veri önizlemesi çalıştırmanız gerekirse, arama düğümünü geçici olarak kaldırabilir ve ardından geri koyabilirsiniz.
  7. eklemek Türetilmiş Sütun düğüm ve adlandırın Total in usd.
  8. Türetilmiş sütunu adlandırın total_usd ve aşağıdaki SQL ifadesini kullanın:
    round(contracts * price * exchange_rate, 2)
    Para birimi dönüştürme yapılandırması
  9. eklemek Geçerli Zaman Damgasını Ekle düğümü ve sütunu adlandırın ingest_date.
  10. formatı kullan %Y-%m-%d zaman damganız için (gösteri amacıyla, yalnızca tarihi kullanıyoruz; isterseniz daha kesin yapabilirsiniz).
    Zaman damgası yapılandırması

Geçmiş siparişler tablosunu kaydedin

Geçmiş siparişler tablosunu kaydetmek için aşağıdaki adımları tamamlayın:

  1. Bir S3 hedef düğümü ekleyin ve adlandırın Orders table.
  2. Parquet formatını hızlı sıkıştırma ile yapılandırın ve sonuçların saklanacağı bir S3 hedef yolu sağlayın (özetten ayrı).
  3. seç Veri Kataloğu'nda bir tablo oluşturun ve sonraki çalıştırmalarda şemayı güncelleyin ve yeni bölümler ekleyin.
  4. Yeni tablo için bir hedef veritabanı ve bir ad girin, örneğin: option_orders.
    Tablo havuzu yapılandırması

Diyagramın son kısmı, iki ayrı çıktı için iki kol ile şimdi aşağıdakine benzer görünmelidir.
DAG

İşi başarıyla çalıştırdıktan sonra, yeni tabloyu sorgulayarak işin ürettiği verileri gözden geçirmek için Athena gibi bir araç kullanabilirsiniz. Tabloyu Athena listesinde bulabilir ve seçebilirsiniz. Önizleme tablosu veya yalnızca bir SELECT sorgusu çalıştırın (tablo adını, kullandığınız ad ve kataloğa göre güncelleyerek):

SELECT * FROM default.option_orders limit 10

Tablo içeriğiniz aşağıdaki ekran görüntüsüne benzer görünmelidir.
Tablo içeriği

Temizlemek

Bu örneği korumak istemiyorsanız, oluşturduğunuz iki işi, Athena'daki iki tabloyu ve giriş ve çıkış dosyalarının saklandığı S3 yollarını silin.

Sonuç

Bu gönderide, AWS Glue Studio'daki yeni dönüşümlerin minimum yapılandırma ile daha gelişmiş dönüşümler gerçekleştirmenize nasıl yardımcı olabileceğini gösterdik. Bu, herhangi bir kod yazmak ve sürdürmek zorunda kalmadan daha fazla ETL kullanım durumu uygulayabileceğiniz anlamına gelir. Yeni dönüşümler, AWS Glue Studio'da zaten mevcut olduğundan, yeni dönüşümleri bugünden görsel işlerinizde kullanabilirsiniz.


Yazar hakkında

Gonzalo herreros AWS Glue ekibinde Kıdemli Büyük Veri Mimarıdır.

Zaman Damgası:

Den fazla AWS Büyük Veri