Google Cloud Dataflow'u kullanarak ilk SQL ifadelerinizi çalıştırma

1. Giriş

Cloud-Dataflow.png

Google Cloud Dataflow

Son Güncelleme Tarihi: 26 Mayıs 2020

Dataflow nedir?

Dataflow, çok çeşitli veri işleme kalıpları yürütmek için yönetilen bir hizmettir. Bu sitedeki belgeler, hizmet özelliklerini kullanma talimatları da dahil olmak üzere toplu veri ve akış verisi işleme ardışık düzenlerinizi Dataflow kullanarak nasıl dağıtacağınızı gösterir.

Apache Beam SDK, hem toplu hem de akış ardışık düzenleri geliştirmenizi sağlayan açık kaynaklı bir programlama modelidir. Ardışık düzenlerinizi Apache Beam programıyla oluşturur ve bunları Dataflow hizmetinde çalıştırırsınız. Apache Beam belgeleri; Apache Beam programlama modeli, SDK'lar ve diğer koşucular için ayrıntılı kavramsal bilgiler ve referans malzemeleri sağlar.

Hızlı akış verisi analizi

Dataflow, daha düşük veri gecikmesiyle hızlı ve basitleştirilmiş akış veri ardışık düzeni geliştirilebilmesini sağlar.

Operasyonları ve yönetimi basitleştirme

Dataflow'un sunucusuz yaklaşımının veri mühendisliği iş yüklerindeki işlem ek yükünü ortadan kaldırması sayesinde ekiplerin sunucu kümelerini yönetmek yerine programlamaya odaklanmasını sağlayın.

Toplam sahip olma maliyetini azaltma

Otomatik kaynak ölçeklendirme ile maliyet açısından optimize edilmiş toplu işleme özelliğinin bir arada sunulması, Dataflow'un sezonluk ve ani artışlar gösteren iş yüklerinizi aşırı harcama yapmadan yönetme konusunda neredeyse sınırsız bir kapasite sunduğu anlamına gelir.

Temel özellikler

Otomatik kaynak yönetimi ve dinamik iş dengeleme

Dataflow, gecikmeyi en aza indirmek ve kullanımı en üst düzeye çıkarmak için kaynak işleme süreçlerinin sağlanmasını ve yönetimini otomatik hale getirir. Böylece, örnekleri hızlandırmanız veya elle ayırmanız gerekmez. İş bölümlendirme, geciken işleri dinamik olarak yeniden dengelemek için otomatik hale getirilmiş ve optimize edilmiştir. "Kısayol tuşları" aramanıza gerek yok veya giriş verilerinizi önceden işleyin.

Yatay otomatik ölçeklendirme

Optimum işleme hızı için çalışan kaynaklarının yatay olarak otomatik ölçeklendirilmesi, genel fiyat-performans oranını artırır.

Toplu işlem için esnek kaynak planlama fiyatlandırması

Gece devam etmesi gereken işlerde olduğu gibi iş planlama süresinde esneklik ile işlem yapmak için esnek kaynak planlama (FlexRS) imkanı, toplu işlem için daha düşük bir fiyat sunar. Bu esnek işler, altı saatlik süre içinde yürütmeye alınacakları garantisiyle sıraya sokulur.

Bu program kapsamında uygulayacağınız adımlar

Bu codelab'de, Dataflow SQL kullanıcı arayüzünden SQL ifadesi göndererek Dataflow SQL'i kullanmaya başlayacaksınız. Ardından, Dataflow izleme kullanıcı arayüzünü kullanarak çalışan ardışık düzeni keşfedeceksiniz.

Neler öğreneceksiniz?

  • Bir SQL ifadesini Dataflow SQL kullanıcı arayüzünde Dataflow işi olarak gönderme.
  • Dataflow Ardışık Düzeni'ne gidilmelidir.
  • SQL ifadesi tarafından oluşturulan Dataflow grafiğini keşfedin.
  • Grafikte sağlanan izleme bilgilerini inceleyin.

Gerekenler

  • Faturalandırmanın etkin olduğu bir Google Cloud Platform projesi.
  • Google Cloud Dataflow ve Google Cloud PubSub etkinleştirilir.

2. Kurulum

Dataflow API ve Cloud Pub/Sub API'yi etkinleştirdiğinizden emin olun. Bunu, API'nin ve Hizmetler sayfası.

3. Dataflow SQL kullanıcı arayüzüne erişme

Dataflow SQL kullanıcı arayüzü, Dataflow SQL işleri oluşturmak için kullanılan bir BigQuery web kullanıcı arayüzü ayarıdır. Dataflow SQL kullanıcı arayüzüne BigQuery web kullanıcı arayüzünden erişebilirsiniz.

  1. BigQuery web kullanıcı arayüzüne gidin.

  1. Cloud Dataflow motoruna geçin.
  • Diğer açılır menüsünü tıklayıp Sorgu ayarları'nı seçin.

BigQuery web kullanıcı arayüzünde Sorgu ayarları seçeneğinin seçili olduğu Diğer açılır menüsü

  • Sorgu ayarları menüsünde Dataflow motoru'nu seçin.
  • Dataflow ve Data Catalog API'leri etkinleştirilmemişse görünen istemde Enable APIs'ı (API'leri etkinleştir) tıklayın.

"API'leri Etkinleştir" istemini içeren Sorgu ayarları menüsü

  • Save'i (Kaydet) tıklayın. Dataflow motoru radyo düğmesinin seçili olduğu ve API'lerin etkinleştirildiği Sorgu ayarları menüsü

Dataflow SQL kullanıcı arayüzüne Dataflow izleme arayüzünden de erişebilirsiniz.

  • Dataflow izleme arayüzüne gidin.

  • SQL'den iş oluştur'u tıklayın.

4. SQL Sorgusu ile Dataflow İşi Çalıştırma

Dataflow SQL sorguları yazma

Dataflow SQL sorguları Dataflow SQL sorgu söz dizimini kullanır. Dataflow SQL sorgusu söz dizimi, BigQuery standart SQL'e benzer. Pub/Sub gibi sürekli olarak güncellenen Dataflow kaynaklarından veri toplamak için Dataflow SQL akış uzantılarını kullanabilirsiniz. Örneğin, aşağıdaki sorgu her dakika taksi yolculuklarının Pub/Sub akışındaki yolcuları sayar:

SELECT
  TUMBLE_START('INTERVAL 1 MINUTE') as period_start,
  SUM(passenger_count) AS pickup_count
FROM pubsub.topic.`pubsub-public-data`.`taxirides-realtime`
WHERE
  ride_status = "pickup"
GROUP BY
  TUMBLE(event_timestamp, 'INTERVAL 1 MINUTE')

Dataflow SQL sorgularını çalıştırma

Dataflow SQL sorgusu çalıştırdığınızda Dataflow, sorguyu Apache Beam ardışık düzenine dönüştürür ve ardışık düzeni yürütür.

Cloud Console veya gcloud komut satırı aracını kullanarak Dataflow SQL sorgusu çalıştırabilirsiniz.

Dataflow SQL sorgusu çalıştırmak için Dataflow SQL kullanıcı arayüzünü kullanın.

  • Dataflow SQL kullanıcı arayüzüne gidin.
  • Sorgu düzenleyiciye yukarıdaki Dataflow SQL sorgusunu girin.
  • İş seçenekleri panelini açmak için Cloud Dataflow işi oluştur'u tıklayın.
  • (İsteğe bağlı) İsteğe bağlı parametreleri göster'i tıklayın ve listeye göz atın.
  • Panelin Hedef bölümünde Çıkış türü olarak BigQuery'yi seçin.

1155e94529ff58fe.png

  • Veri kümesi kimliği seçin ve "passengers_per_min" tablo adını oluşturun.
  • Oluştur'u tıklayın.

Verileri sorgulama ve Dataflow SQL sorgu sonuçlarını yazma hakkında daha fazla bilgi için Dataflow SQL'i kullanma başlıklı makaleyi inceleyin.

5. İşi Dataflow Monitoring kullanıcı arayüzünde keşfetme

Ardışık düzeninizi Dataflow tarafından yönetilen hizmeti kullanarak yürüttüğünüzde, Dataflow'un web tabanlı izleme kullanıcı arayüzünü kullanarak ilgili işi ve diğerlerini görüntüleyebilirsiniz. İzleme arayüzü, Dataflow işlerinizi görmenizi ve bunlarla etkileşime geçmenizi sağlar.

Dataflow izleme arayüzüne Google Cloud Console'u kullanarak erişebilirsiniz. İzleme arayüzü size şunları gösterebilir:

  • Şu anda çalışan ve son 30 gün içinde önceden çalıştırılan tüm Dataflow işlerinin listesi.
  • Her ardışık düzenin grafiksel gösterimi.
  • İşinizin durumu, yürütülmesi ve SDK sürümü ile ilgili ayrıntılar.
  • Ardışık düzeninizi çalıştıran Google Cloud hizmetleriyle (ör. Compute Engine ve Cloud Storage) ilgili bilgilere yönlendiren bağlantılar.
  • Bir iş sırasında ortaya çıkan tüm hatalar veya uyarılar.

İş izleme grafiklerini Dataflow izleme arayüzünde görüntüleyebilirsiniz. Bu grafikler, bir ardışık düzen işinin süresi boyunca metrikleri görüntüler ve aşağıdaki bilgileri içerir:

  • Hangi adımların ardışık düzen gecikmesine neden olabileceğini belirlemenize yardımcı olan adım düzeyinde görünürlük.
  • Anormal davranışları ortaya çıkarabilecek istatistiksel bilgiler.
  • Kaynaklarınız ve havuzlarınızdaki performans sorunlarını belirlemenize yardımcı olabilecek G/Ç metrikleri.

Dataflow izleme arayüzüne erişim

Dataflow izleme arayüzüne erişmek için aşağıdaki adımları uygulayın:

  • Cloud Console'a gidin:

  • Google Cloud projenizi seçin.
  • Sol üst köşedeki menüyü tıklayın.
  • Büyük Veri bölümüne gidip Dataflow'u tıklayın.

Durumlarıyla birlikte Dataflow işlerinin listesi gösterilir.

58f6402cc923d6bb.png

Cloud Console'da Çalışıyor, Başarısız ve Başarılı durumları olan Dataflow işlerinin listesi.

Bir işin durumu aşağıdaki gibi olabilir:

  • : İzleme kullanıcı arayüzü, henüz Dataflow hizmetinden durum almadı.
  • Çalışıyor: İş şu anda çalışıyor.
  • Başlatılmadı: İş oluşturulur, ancak sistemin başlatmadan önce hazırlanmak için biraz zamana ihtiyacı vardır.
  • Sıraya alındı: FlexRS işi sıraya alındı.
  • İptal ediliyor...: iş iptal ediliyor.
  • İptal edildi: Kullanıcı tarafından iptal edilen iş.
  • Boşaltılıyor...: iş tükeniyor.
  • Boşaltıldı: Kullanıcı işi bitirmiştir.
  • Güncelleniyor...: İş güncelleniyor.
  • Güncellendi: Kullanıcı işi güncellemiştir.
  • Başarılı: İş başarıyla tamamlandı.
  • Başarısız: İş tamamlanamadı.

"dfsql" ile iş arayın iş unvanının bir parçası olarak ekleyin ve adını tıklayın.

e3bce9b1929564c9.png

Aşağıdakileri içeren İş ayrıntıları sayfası:

  • İş grafiği: Ardışık düzeninizin görsel temsili
  • İş metrikleri: işinizin yürütülmesiyle ilgili metrikler
  • İş bilgi paneli: Ardışık düzeniniz hakkında açıklayıcı bilgiler
  • İş günlükleri: Dataflow hizmeti tarafından iş düzeyinde oluşturulan günlükler
  • Çalışan günlükleri: Dataflow hizmeti tarafından çalışan düzeyinde oluşturulan günlükler
  • İş hatası raporlaması: Seçilen zaman çizelgesinde hataların nerede oluştuğunu ve günlüğe kaydedilen tüm hataların sayısını gösteren grafikler
  • Zaman seçici: Metriklerinizin zaman aralığını ayarlamanızı sağlayan araç

İş ayrıntıları sayfasında, İş grafiği ve İş metrikleri sekmesiyle iş görünümünüzü değiştirebilirsiniz.

  • İŞ METRİKLERİ sekmesini tıklayın ve grafikleri inceleyin

7076f8a8911066ab.png

6. Dataflow SQL işinizi durdurma

Dataflow SQL işlerini durdurmak için İptal komutunu kullanın. Dataflow SQL işlerinin Drain ile durdurulması desteklenmez.

1229697a873e1cf9.png