Aracılığıyla paylaş


Hizmet sorumlusuyla COPY INTO kullanarak veri yükleme

Bu makalede, Azure hesabınızdaki COPY INTO bir Azure Data Lake Storage 2. Nesil (ADLS 2. Nesil) kapsayıcısından Databricks SQL'deki bir tabloya veri yüklemek için komutunun nasıl kullanılacağı açıklanmaktadır.

Bu makaledeki adımlarda, yöneticinizin ADLS 2. Nesil'de kaynak dosyalarınıza erişebilmeniz için azure databricks hizmet sorumlusu kullanacak şekilde bir SQL ambarı yapılandırdığı varsayılır. Yöneticiniz depolama kimlik bilgileriyle bir Unity Kataloğu dış konumu yapılandırdıysa bkz . Unity Kataloğu birimleri veya dış konumlar ile COPY INTO kullanarak veri yükleme. Yöneticiniz size geçici kimlik bilgileri (Blob SAS belirteci) verdiyse, bunun yerine COPY INTO kullanarak verileri geçici kimlik bilgileriyle yükleme bölümünde verilen adımları izleyin.

Databricks, Databricks SQL ile artımlı ve toplu veri yükleme için COPY INTO komutunun kullanılmasını önerir.

Not

COPY INTO binlerce dosya içeren veri kaynakları için iyi çalışır. Databricks, Databricks SQL'de desteklenmeyen milyonlarca dosyayı yüklemek için Otomatik Yükleyici'yi kullanmanızı önerir.

Başlamadan önce

Azure Databricks'e veri yüklemeden önce aşağıdakilere sahip olduğunuzdan emin olun:

  • ADLS 2. Nesil'deki verilere erişim. Databricks SQL ambarınızın kaynak dosyalarınızı okuyabilmesi için önce yöneticinizin Veri alımı için veri erişimini yapılandırma adımlarını tamamlaması gerekir.
  • Databricks SQL ambarı.
  • SQL ambarındaki izinleri yönetebilir.
  • ADLS 2. Nesil kapsayıcısında verilerinizin yolu.
  • Databricks SQL kullanıcı arabirimi hakkında bilgi.

1. Adım: Bulut depolamadaki verilere erişimi onaylama

Bulut nesne depolama alanında doğru verilere erişiminiz olduğunu onaylamak için aşağıdakileri yapın:

  1. Kenar çubuğunda Sorgu Oluştur'a > tıklayın.

  2. SQL düzenleyicisinin menü çubuğunda bir SQL ambarı seçin.

  3. SQL düzenleyicisinde aşağıdaki kodu yapıştırın:

    select * from csv.<path>
    

    değerini yöneticinizden aldığınız ADLS 2. Nesil kapsayıcı yoluyla değiştirin <path> . Örneğin, abfss://<container>@<storage-account>.dfs.core.windows.net/<folder>.

  4. Çalıştır'a tıklayın.

2. Adım: Tablo oluşturma

Bu adım, gelen verileri tutmak için Azure Databricks çalışma alanınızda nasıl tablo oluşturulacağını açıklar.

  1. SQL düzenleyicisinde aşağıdaki kodu yapıştırın:

    CREATE TABLE <catalog_name>.<schema_name>.<table_name> (
      tpep_pickup_datetime  TIMESTAMP,
      tpep_dropoff_datetime TIMESTAMP,
      trip_distance DOUBLE,
      fare_amount DOUBLE,
      pickup_zip INT,
      dropoff_zip INT
    );
    
  2. Çalıştır'a tıklayın.

3. Adım: Bulut depolamadan tabloya veri yükleme

Bu adım, bir ADLS 2. Nesil kapsayıcısından Azure Databricks çalışma alanınızdaki tabloya veri yüklemeyi açıklar.

  1. Kenar çubuğunda Sorgu Oluştur'a > tıklayın.

  2. SQL düzenleyicisinin menü çubuğunda bir SQL ambarı seçin ve SQL ambarı'nın çalıştığından emin olun.

  3. SQL düzenleyicisinde aşağıdaki kodu yapıştırın. Bu kodda şunu değiştirin:

    • <container> depolama hesabınızdaki ADLS 2. Nesil kapsayıcınızın adıyla birlikte.
    • <storage-account> ve ADLS 2. Nesil depolama hesabınızın adıyla birlikte.
    • <folder> ve verilerinizi içeren klasörün adını yazın.
    • <blob-sas-token>değerini, yöneticinizden aldığınız Blob SAS belirtecinin değeriyle birlikte kullanın.
    COPY INTO <catalog-name>.<schema-name>.<table-name>
    FROM 'abfss://<container>@<storage-account>.dfs.core.windows.net/<folder>'
    FILEFORMAT = CSV
    FORMAT_OPTIONS (
      'header' = 'true',
      'inferSchema' = 'true'
    );
    
    SELECT * FROM <catalog-name>.<schema-name>.<table-name>;
    

    Not

    FORMAT_OPTIONS ile FILEFORMATfarklılık gösterir. Bu durumda, header seçenek Azure Databricks'e CSV dosyasının ilk satırını üst bilgi olarak ele alma talimatını ve inferSchema seçenekler de Azure Databricks'e CSV dosyasındaki her alanın veri türünü otomatik olarak belirlemesini sağlar.

  4. Çalıştır'a tıklayın.

    Not

    Çalıştır'a yeniden tıklarsanız tabloya yeni veri yüklenmez. Bunun nedeni, komutun COPY INTO yalnızca yeni veri olarak kabul ettiği verileri işlemesidir.

Temizleme

Artık saklamak istemiyorsanız, çalışma alanınızdaki ilişkili kaynakları temizleyebilirsiniz.

Tabloları silme

  1. Kenar çubuğunda Sorgu Oluştur'a > tıklayın.

  2. Bir SQL ambarı seçin ve SQL ambarı'nın çalıştığından emin olun.

  3. Aşağıdaki kodu yapıştırın:

    DROP TABLE <catalog-name>.<schema-name>.<table-name>;
    
  4. Çalıştır'a tıklayın.

  5. Bu sorgunun sekmesinin üzerine gelin ve X simgesine tıklayın.

SQL düzenleyicisindeki sorguları silme

  1. Kenar çubuğunda SQL Düzenleyicisi'ne tıklayın.
  2. SQL düzenleyicisinin menü çubuğunda, bu öğretici için oluşturduğunuz her sorgunun sekmesinin üzerine gelin ve X simgesine tıklayın.

Ek kaynaklar