Azure Data Lake Storage'dan artımlı veri alımını ayarlama

Bu makalede Azure Data Lake Storage'dan Azure Databricks'e artımlı veri alımının nasıl ayarlanacağı açıklanmaktadır. Bir Unity Kataloğu birimine (önerilir) veya Unity Kataloğu dış konumuna karşılık gelen bir bulut nesne depolama konumundaki kaynak verilere güvenli bir şekilde erişmeyi öğreneceksiniz. Ardından, Lakeflow Spark Deklaratif İşlem Hatları ile Auto Loader kullanarak verileri artımlı olarak Unity Catalog tarafından yönetilen bir tabloya almayı öğreneceksiniz.

Not

Databricks SQL'de not defteri yerine artımlı alımı ayarlamak için bkz. Tek başına akış tablolarını kullanma.

Başlamadan önce

Yönetici değilseniz, bu makalede bir yöneticinin size aşağıdakileri sağladığı varsayılır:

  • Unity Kataloğu etkinleştirilmiş bir Azure Databricks çalışma alanına erişim. Daha fazla bilgi için bkz. Unity Kataloğu'nu kullanmaya başlama.

  • Unity Kataloğu dış birimindeki READ VOLUME izni veya kaynak verilerinizi içeren bulut depolama konumuna karşılık gelen Unity Kataloğu dış konumundaki READ FILES izni. Daha fazla bilgi için bkz. Dış konumda izin verme

  • Kaynak verilerinizin yolu.

    Hacim yolu örneği: /Volumes/<catalog>/<schema>/<volume>/<path>/<folder>

    Dış konum yolu örneği: abfss://<container>@<storage-account>.dfs.core.windows.net/<folder>

  • Yüklemek istediğiniz verileri için USE SCHEMA ve CREATE TABLE şemadaki ayrıcalıklar.

  • Küme oluşturma izni veya bir işlem hattı kümesini tanımlayan bir küme ilkesine erişim (cluster_type alanı dlt olarak ayarlanmış).

    Kaynak verilerinizin yolu bir birim yoluysa, kümenizin Databricks Runtime 13.3 LTS veya üzerini çalıştırması gerekir.

Önemli

Bu önkoşullar hakkında sorularınız varsa hesap yöneticinize başvurun.

1. Adım: Küme oluşturma

Küme oluşturmak için aşağıdakileri yapın:

  1. Azure Databricks çalışma alanınızda oturum açın.
  2. Kenar çubuğunda Yeni Küme'ye> tıklayın.
  3. Kümeler kullanıcı arabiriminde kümeniz için benzersiz bir ad belirtin.
  4. Kaynak verilerinizin yolu bir birim yoluysa, Databricks Runtime çalışma zamanı sürümü için 13.2 veya üzerini seçin.
  5. Küme oluştur’a tıklayın.

2. Adım: Veri araştırma not defteri oluşturma

Bu bölümde, veri işlem hattınızı oluşturmadan önce verilerinizi anlayabilmek için veri araştırma not defterinin nasıl oluşturulacağı açıklanır.

  1. Kenar çubuğunda +Yeni Not Defteri'ne> tıklayın.

    Not defteri, kullandığınız son kümeye (bu örnekte 1. Adım: Küme oluşturma) oluşturduğunuz kümeye otomatik olarak eklenir.

  2. Not defteri için bir ad girin.

  3. Dil düğmesine tıklayın ve açılan menüden Python veya SQL öğesini seçin. Python varsayılan olarak seçilidir.

  4. ADLS'de kaynak verilerinize veri erişimini onaylamak için, aşağıdaki kodu bir not defteri hücresine yapıştırın, Çalıştır Menüsü'netıklayın ve sonra Hücreyi Çalıştıröğesine tıklayın.

    SQL

    LIST '<path-to-source-data>'
    

    Piton

    %fs ls '<path-to-source-data>'
    

    <path-to-source-data> öğesini, verilerinizi içeren dizinin yolu ile değiştirin.

    Bu, veri kümesini içeren dizinin içeriğini görüntüler.

  5. Kayıtların bir örneğini görüntüleyip her kaydın içeriğini ve biçimini daha iyi anlamak için, aşağıdakileri bir not defteri hücresine yapıştırın, öğesine tıklayın Çalıştır Menüsüve ardından Hücreyi Çalıştır'a tıklayın.

    SQL

    SELECT * from read_files('<path-to-source-data>', format => '<file-format>') LIMIT 10
    

    Piton

    spark.read.format('<file-format>').load('<path-to-source-data>').limit(10).display()
    

    Aşağıdaki değerleri değiştirin:

    • <file-format>: Desteklenen bir dosya biçimi. Bkz. DataFrameReader seçenekleri.
    • <path to source data>: Verilerinizi içeren dizindeki bir dosyanın yolu.

    Bu, belirtilen dosyadaki ilk on kaydı görüntüler.

3. Adım: Ham verileri alma

Ham verileri almak için aşağıdakileri yapın:

  1. Kenar çubuğunda Yeni Not Defteri'ne> tıklayın.

    Not defteri, kullandığınız son kümeye (bu örnekte, bu makalenin önceki bölümlerinde oluşturduğunuz küme) otomatik olarak eklenir.

  2. Not defteri için bir ad girin.

  3. Dil düğmesine tıklayın ve açılan menüden Python veya SQL öğesini seçin. Python varsayılan olarak seçilidir.

  4. Not defteri hücresine aşağıdaki kodu yapıştırın:

    SQL

    CREATE OR REFRESH STREAMING TABLE
      <table-name>
    AS SELECT
      *
    FROM
      STREAM read_files(
        '<path-to-source-data>',
        format => '<file-format>'
      )
    

    Piton

    @dp.table(table_properties={'quality': 'bronze'})
    def <table-name>():
      return (
         spark.readStream.format('cloudFiles')
         .option('cloudFiles.format', '<file-format>')
         .load(f'{<path-to-source-data>}')
     )
    

    Aşağıdaki değerleri değiştirin:

    • <table-name>: Alınan kayıtları içerecek tablonun adı.
    • <path-to-source-data>: Kaynak verilerinizin yolu.
    • <file-format>: Desteklenen bir dosya biçimi. Bkz. DataFrameReader seçenekleri.

Not

Lakeflow Spark Bildirimli İşlem Hatları, not defteri hücrelerinde etkileşimli olarak çalışacak şekilde tasarlanmamıştır. Not defterinde Lakeflow Spark Bildirimli İşlem Hatları söz dizimi içeren bir hücre çalıştırıldığında, sorgunun söz dizimi açısından geçerli olup olmadığı ancak sorgu mantığını çalıştırmadığı hakkında bir ileti döndürülüyor. Aşağıdaki adım, yeni oluşturduğunuz alım not defterinden nasıl bir işlem hattı oluşturacağınızı açıklamaktadır.

4. Adım: İşlem hattı oluşturma ve yayımlama

İşlem hattı oluşturmak ve Unity Kataloğu'na yayımlamak için aşağıdakileri yapın:

  1. Çalışma alanınızda İş Akışları simgesine tıklayın.Kenar çubuğundaki İşler ve İşlem Hatları.
  2. Yeni altında ETL işlem hattına tıklayın.
  3. İşlem hattınız için bir ad girin.
  4. İşlem hattı modu için Tetiklenmiş'i seçin.
  5. Kaynak kodu için işlem hattı kaynak kodunuzu içeren not defterini seçin.
  6. Hedef için Unity Kataloğu'nu seçin.
  7. Tablonuzun Unity Kataloğu tarafından yönetildiğinden ve üst şemaya erişimi olan herhangi bir kullanıcının bunu sorgulaya çalıştığından emin olmak için, açılan listelerden bir Katalog ve Hedef şema seçin.
  8. Küme oluşturma izniniz yoksa, açılan listeden Lakeflow Spark Bildirimli İşlem Hatlarını destekleyen bir Küme ilkesi seçin.
  9. Gelişmiş için KanalıÖnizleme olarak ayarlayın.
  10. Diğer tüm varsayılan değerleri kabul edin ve Oluştur'a tıklayın.

5. Adım: İşlem hattını zamanlama

İşlem hattını zamanlamak için aşağıdakileri yapın:

  1. Çalışma alanınızda İş Akışları simgesine tıklayın.Kenar çubuğundaki İşler ve İşlem Hatları.
  2. Zamanlamak istediğiniz boru hattının adına tıklayın.
  3. ZamanlamaBir zamanlama ekleyin.
  4. İş adı için iş için bir ad girin.
  5. ZamanlamayıZamanlanmış olarak ayarlayın.
  6. Dönemi, başlangıç saatini ve saat dilimini belirtin.
  7. İşlem hattı başlatma, başarı veya hata uyarılarını almak için bir veya daha fazla e-posta adresi yapılandırın.
  8. Oluştur’a tıklayın.

Sonraki adımlar

  • Kullanıcılara yeni tabloya erişim izni verin. Daha fazla bilgi için Unity Kataloğu ayrıcalıkları referansı bölümüne bakın.
  • Yeni tabloya erişimi olan kullanıcılar artık bir not defterindeki tabloyu sorgulayabilir veya Databricks SQL düzenleyicisini kullanabilir.