Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Otomatik Yükleyici ile veri düzenlemesi için yeni bir Lakeflow işlem hattı oluşturursunuz, ardından verileri temizleyip ilk 100 kullanıcıyı bulmak için bir sorgu oluşturarak örnek işlem hattını genişletirsiniz.
Bu öğreticide, Lakeflow Pipelines Düzenleyicisi'ni kullanarak şunları yapmayı öğreneceksiniz:
- Varsayılan klasör yapısına sahip yeni bir işlem hattı oluşturun ve bir örnek dosya kümesiyle başlayın.
- Beklentileri kullanarak veri kalitesi kısıtlamalarını tanımlayın.
- Verileriniz üzerinde analiz gerçekleştirmek üzere işlem hattını yeni bir dönüşümle genişletmek için düzenleyici özelliklerini kullanın.
Gereksinimler
Bu öğreticiye başlamadan önce şunları yapmalısınız:
- Azure Databricks çalışma alanında oturum açabilirsiniz.
- Çalışma alanınız için Unity Kataloğu'nu etkinleştirin.
- İşlem kaynağı oluşturma veya işlem kaynağına erişim iznine sahip olun.
- Katalogda yeni şema oluşturma izinlerine sahip olun. Gereken izinler
ALL PRIVILEGESveyaUSE CATALOGveCREATE SCHEMA. - İşlem hatlarını ve bunların çıkışını oluşturmak, çalıştırmak, yenilemek ve görüntülemek için gereken tüm ayrıcalıklar için bkz. İşlem hatları için kimlikleri, izinleri ve ayrıcalıkları yönetme.
1. Adım: İşlem hattı oluşturma
Bu adımda, varsayılan klasör yapısını ve kod örneklerini kullanarak bir işlem hattı oluşturursunuz. Kod örnekleri, örnek veri kaynağındaki users tablosuna referans verirwanderbricks.
Azure Databricks çalışma alanınızda
Yeni, ardından
ETL işlem hattı. Bu,
New Pipeline <date> <time>gibi varsayılan bir işlem hattı adıyla işlem hattı düzenleyicisini açar.(İsteğe bağlı) Adı seçin ve işlem hattı için açıklayıcı bir ad girin.
(İsteğe bağlı) Adın sağındaki kataloğa ve şemaya tıklayarak farklı varsayılanlar ayarlayın.
(İsteğe bağlı) Sizin için oluşturulan
my_transformationkaynak dosyasında, dil açılan listesinden Python veya SQL seçin.Örnek kodu kullanın.
Seçtiğiniz dildeki örnek kod,
my_transformationklasöründekitransformationskaynak dosyasında yer alır. Çıktı veri kümeleri henüz oluşturulmamıştır ve ekranın sağ tarafındaki İşlem Hattı grafiği boştur.İşlem hattı kodunu (klasördeki
transformationskod) çalıştırmak için ekranın sağ üst kısmındaki İşlem hattını çalıştır'a tıklayın.Çalıştırma işlemi tamamlandıktan sonra, çalışma alanının alt kısmında oluşturulan iki yeni tablo,
sample_users_<date_time>vesample_aggregation_<date_time>, gösterilir. Çalışma alanının sağ tarafındaki Pipeline grafiği artık iki tabloyu gösteriyor; bunasample_usersöğesininsample_aggregationiçin kaynak olduğu bilgisi de dahildir. Tamsample_users_<date_time>tablo adını not edin; sonraki adımda buna başvuracaksınız.
2. Adım: Veri kalitesi denetimleri uygulama
Bu adımda, tabloya sample_users bir veri kalitesi denetimi eklersiniz. Verileri kısıtlamak için işlem hattı beklentilerini kullanırsınız. Bu durumda, geçerli bir e-posta adresi olmayan tüm kullanıcı kayıtlarını siler ve temizlenen tablonun çıkışını olarak users_cleanedverirsiniz.
Soldaki işlem hattı varlık tarayıcısında
tıklayın ve Dönüştürme'yi seçin.
Yeni dönüştürme dosyası oluştur iletişim kutusunda aşağıdaki seçimleri yapın:
- Language için Python veya SQL seçin. Bunun önceki seçiminizle eşleşmesi gerekmez.
- Dosyaya bir ad verin. Bu durumda
users_cleanedseçin. - Hedef yolu için varsayılan değeri değiştirmeyin.
- Veri kümesi türü için hiçbiri seçili olarak bırakın veya Gerçekleştirilmiş görünümü seçin. Gerçekleştirilmiş görünüm'ü seçerseniz, sizin için örnek kod oluşturur.
Dönüştürme kodu dosyasını oluşturmak için Oluştur'a tıklayın.
Yeni kod dosyanızda, kodu aşağıdakilerle eşleşecek şekilde düzenleyin (önceki ekrandaki seçiminize bağlı olarak SQL veya Python kullanın).
sample_users_<date_time>ifadesini, önceki bölümdekisample_userstablonuzun tam adıyla değiştirin.SQL
-- Drop all rows that do not have an email address CREATE MATERIALIZED VIEW users_cleaned ( CONSTRAINT non_null_email EXPECT (email IS NOT NULL) ON VIOLATION DROP ROW ) AS SELECT * FROM sample_users_<date_time>;Python
from pyspark import pipelines as dp # Drop all rows that do not have an email address @dp.materialized_view @dp.expect_or_drop("no null emails", "email IS NOT NULL") def users_cleaned(): return ( spark.read.table("sample_users_<date_time>") )İşlem hattını güncelleştirmek için İşlem hattını çalıştır'a tıklayın. Artık üç tablosu olmalıdır.
3. Adım: En çok kullanılan kullanıcıları analiz etme
Ardından, oluşturdukları rezervasyon sayısına göre ilk 100 kullanıcıyı edinin.
wanderbricks.bookings tabloyu users_cleaned maddileştirilmiş görünüme birleştirin.
Soldaki işlem hattı varlık tarayıcısında
tıklayın ve Dönüştürme seçeneğini belirleyin.
Yeni dönüştürme dosyası oluştur iletişim kutusunda aşağıdaki seçimleri yapın:
- Language için Python veya SQL seçin. Bunun önceki seçimlerinizle eşleşmesi gerekmez.
- Dosyaya bir ad verin. Bu durumda
users_and_bookingsseçin. - Hedef yolu için varsayılan değeri değiştirmeyin.
- Veri kümesi türü için Seçili değil olarak bırakın.
Dönüştürme kodu dosyasını oluşturmak için Oluştur'a tıklayın.
Yeni kod dosyanızda, kodu aşağıdakilerle eşleşecek şekilde düzenleyin (önceki ekrandaki seçiminize bağlı olarak SQL veya Python kullanın).
SQL
-- Get the top 100 users by number of bookings CREATE OR REFRESH MATERIALIZED VIEW users_and_bookings AS SELECT u.name AS name, COUNT(b.booking_id) AS booking_count FROM users_cleaned u JOIN samples.wanderbricks.bookings b ON u.user_id = b.user_id GROUP BY u.name ORDER BY booking_count DESC LIMIT 100;Python
from pyspark import pipelines as dp from pyspark.sql.functions import col, count, desc # Get the top 100 users by number of bookings @dp.materialized_view def users_and_bookings(): return ( spark.read.table("users_cleaned") .join(spark.read.table("samples.wanderbricks.bookings"), "user_id") .groupBy(col("name")) .agg(count("booking_id").alias("booking_count")) .orderBy(desc("booking_count")) .limit(100) )Veri kümelerini güncelleştirmek için İşlem hattını çalıştır'a tıklayın. Çalıştırma tamamlandığında, yeni tablo da dahil olmak üzere dört tablo olduğunu
users_and_bookings'nde görebilirsiniz.
Ek kaynaklar
Lakeflow işlem hatları düzenleyicisinin bazı özelliklerini kullanmayı öğrendiğinize ve bir işlem hattı oluşturduğunuza göre, hakkında daha fazla bilgi edinmek için diğer bazı özellikler şunlardır:
İşlem hatları oluştururken dönüştürmelerle çalışma ve hata ayıklama araçları:
- Seçmeli yürütme
- Veri önizlemeleri
- İşlem hattının etkileşimli grafiği (işlem hattınızdaki veri kümelerinin grafiği)
Doğrudan düzenleyiciden verimli işbirliği, sürüm kontrolü ve CI/CD entegrasyonu için yerleşik Deklaratif Otomasyon Paketleri entegrasyonu: