Bagikan melalui


Membangun alur data dengan menggunakan Azure Data Factory, DevOps, dan pembelajaran mesin

Azure DevOps Services

Mulai membangun alur data dengan penyerapan data, transformasi data, dan pelatihan model.

Pelajari cara mengambil data dari file CSV (nilai yang dipisahkan koma) dan menyimpan data ke Azure Blob Storage. Ubah data dan simpan ke area penyimpanan sementara. Kemudian latih model pembelajaran mesin dengan menggunakan data yang diubah. Tulis model ke penyimpanan blob sebagai file pickle Python.

Prasyarat

Sebelum Anda mulai, Anda perlu:

Penyediaan sumber daya Azure

  1. Masuk ke portal Azure.

  2. Dari menu, pilih tombol Cloud Shell . Saat Anda diminta, pilih antarmuka Bash.

    Cuplikan layar memperlihatkan tempat untuk memilih Cloud Shell dari menu.

    Catatan

    Anda memerlukan sumber daya Azure Storage untuk mempertahankan file apa pun yang Anda buat di Azure Cloud Shell. Saat pertama kali membuka Cloud Shell, Anda akan diminta untuk membuat grup sumber daya, akun penyimpanan, dan berbagi Azure Files. Penyiapan ini secara otomatis digunakan untuk semua sesi Cloud Shell di masa mendatang.

Pilih wilayah Azure

Wilayah adalah satu pusat data Azure atau lebih dalam lokasi geografis. US Timur, US Barat, dan Eropa Utara adalah contoh wilayah. Setiap sumber daya Azure, termasuk instans layanan aplikasi, ditetapkan ke suatu wilayah.

Untuk membuat perintah lebih mudah dijalankan, mulailah dengan memilih wilayah default. Setelah Anda menentukan wilayah default, perintah selanjutnya menggunakan wilayah tersebut kecuali Anda menentukan wilayah yang berbeda.

  1. Di Cloud Shell, jalankan perintah az account list-locations berikut untuk mencantumkan wilayah yang tersedia dari langganan Azure Anda.

    az account list-locations \
      --query "[].{Name: name, DisplayName: displayName}" \
      --output table
    
  2. Dari kolom Name dalam output, pilih wilayah yang dekat dengan Anda. Misalnya, pilih asiapacific atau westus2.

  3. Jalankan az config untuk mengatur wilayah default Anda. Dalam contoh berikut, ganti <REGION> dengan nama wilayah yang Anda pilih.

    az config set defaults.location=<REGION>
    

    Contoh berikut ditetapkan westus2 sebagai wilayah default.

    az config set defaults.location=westus2
    

Membuat variabel Bash

  1. Di Cloud Shell, buat angka acak. Anda akan menggunakan nomor ini untuk membuat nama unik global untuk layanan tertentu di langkah berikutnya.

    resourceSuffix=$RANDOM
    
  2. Buat nama unik global untuk akun penyimpanan dan brankas kunci Anda. Perintah berikut menggunakan tanda kutip ganda, yang menginstruksikan Bash untuk menginterpolasi variabel dengan menggunakan sintaks sebaris.

    storageName="datacicd${resourceSuffix}"
    keyVault="keyvault${resourceSuffix}"
    
  3. Buat satu variabel Bash lagi untuk menyimpan nama dan wilayah grup sumber daya Anda. Dalam contoh berikut, ganti <REGION> dengan wilayah yang Anda pilih untuk wilayah default.

    rgName='data-pipeline-cicd-rg'
    region='<REGION>'
    
  4. Buat nama variabel untuk instans Azure Data Factory dan Azure Databricks Anda.

    datafactorydev='data-factory-cicd-dev'
    datafactorytest='data-factory-cicd-test'
    databricksname='databricks-cicd-ws'
    

Membuat sumber daya Azure

  1. Jalankan perintah berikut az group create untuk membuat grup sumber daya dengan menggunakan rgName.

    az group create --name $rgName
    
  2. Jalankan perintah berikut az storage account create untuk membuat akun penyimpanan baru.

    az storage account create \
        --name $storageName \
        --resource-group $rgName \
        --sku Standard_RAGRS \
        --kind StorageV2
    
  3. Jalankan perintah berikut az storage container create untuk membuat dua kontainer, rawdata dan prepareddata.

    az storage container create -n rawdata --account-name $storageName 
    az storage container create -n prepareddata --account-name $storageName 
    
  4. Jalankan perintah berikut az keyvault create untuk membuat brankas kunci baru.

    az keyvault create \
        --name $keyVault \
        --resource-group $rgName
    
  5. Buat pabrik data baru dengan menggunakan UI portal atau Azure CLI:

    • Nama: data-factory-cicd-dev
    • Versi: V2
    • Grup sumber daya: data-pipeline-cicd-rg
    • Lokasi: Lokasi terdekat Anda
    • Kosongkan pilihan untuk Aktifkan Git.
    1. Tambahkan ekstensi Azure Data Factory.

      az extension add --name datafactory
      
    2. Jalankan perintah berikut az datafactory create untuk membuat pabrik data baru.

       az datafactory create \
           --name data-factory-cicd-dev \
           --resource-group $rgName
      
    3. Salin ID langganan. Pabrik data Anda menggunakan ID ini nanti.

  6. Buat data factory kedua dengan menggunakan Azure CLI atau UI portal. Anda menggunakan pabrik data ini untuk pengujian.

    • Nama: data-factory-cicd-test
    • Versi: V2
    • Grup sumber daya: data-pipeline-cicd-rg
    • Lokasi: Lokasi terdekat Anda
    • Kosongkan pilihan untuk Aktifkan GIT.
    1. Jalankan perintah berikut az datafactory create untuk membuat pabrik data baru untuk pengujian.

       az datafactory create \
           --name data-factory-cicd-test \
           --resource-group $rgName
      
    2. Salin ID langganan. Pabrik data Anda menggunakan ID ini nanti.

  7. Tambahkan layanan Azure Databricks baru:

    • Grup sumber daya: data-pipeline-cicd-rg
    • Nama ruang kerja: databricks-cicd-ws
    • Lokasi: Lokasi terdekat Anda
    1. Tambahkan ekstensi Azure Databricks jika belum diinstal.

       az extension add --name databricks
      
    2. Jalankan perintah berikut az databricks workspace create untuk membuat ruang kerja baru.

      az databricks workspace create \
          --resource-group $rgName \
          --name databricks-cicd-ws  \
          --location eastus2  \
          --sku trial
      
    3. Salin ID langganan. Layanan Databricks Anda menggunakan ID ini nanti.

Mengunggah data ke kontainer penyimpanan Anda

  1. Di portal Azure, buka akun penyimpanan Anda di data-pipeline-cicd-rg grup sumber daya.
  2. Pergi ke Blob Service>Kontainer.
  3. prepareddata Buka kontainer.
  4. Unggah file sample.csv.

Menyiapkan Key Vault

Anda menggunakan Azure Key Vault untuk menyimpan semua informasi koneksi untuk layanan Azure Anda.

Membuat token akses pribadi Databricks

  1. Di portal Azure, buka Databricks lalu buka ruang kerja Anda.
  2. Di UI Azure Databricks, buat dan salin token akses pribadi.

Salin kunci akun dan string koneksi untuk akun penyimpanan Anda

  1. Buka akun penyimpanan Anda.
  2. Buka Kunci akses.
  3. Salin kunci pertama dan string koneksi.

Simpan nilai ke Key Vault

  1. Buat tiga rahasia:

    • databricks-token: your-databricks-pat
    • KunciPenyimpanan: your-storage-key
    • StorageConnectString: your-storage-connection
  2. Jalankan perintah berikut az keyvault secret set untuk menambahkan rahasia ke brankas kunci Anda.

    az keyvault secret set --vault-name "$keyVault" --name "databricks-token" --value "your-databricks-pat"
    az keyvault secret set --vault-name "$keyVault" --name "StorageKey" --value "your-storage-key"
    az keyvault secret set --vault-name "$keyVault" --name "StorageConnectString" --value "your-storage-connection"
    

Mengimpor solusi alur data

  1. Masuk ke organisasi Azure DevOps Anda lalu buka proyek Anda.
  2. Buka Repos lalu impor versi hasil fork repositori GitHub Anda. Untuk informasi selengkapnya, lihat Mengimpor repositori Git ke dalam proyek Anda.

Menambahkan koneksi layanan Azure Resource Manager

  1. Membuat koneksi layanan Azure Resource Manager.
  2. Pilih Pendaftaran aplikasi (otomatis) dan Federasi identitas Beban Kerja.
  3. Pilih langganan Anda.
  4. Pilih grup sumber daya data-pipeline-cicd-rg.
  5. Beri nama layanan koneksi azure_rm_connection.
  6. Pilih Berikan izin akses ke semua alur. Anda harus memiliki peran Administrator Koneksi Layanan untuk memilih opsi ini.

Menambahkan variabel alur

  1. Buat grup variabel baru bernama datapipeline-vg.

  2. Tambahkan ekstensi Azure DevOps jika belum diinstal.

    az extension add --name azure-devops 
    
  3. Masuk ke Organisasi Azure DevOps Anda.

    az devops login --org https://dev.azure.com/<yourorganizationname>
    
    az pipelines variable-group create --name datapipeline-vg -p <yourazuredevopsprojectname> --variables \
                                        "LOCATION=$region" \
                                        "RESOURCE_GROUP=$rgName" \
                                        "DATA_FACTORY_NAME=$datafactorydev" \
                                        "DATA_FACTORY_DEV_NAME=$datafactorydev" \
                                        "DATA_FACTORY_TEST_NAME=$datafactorytest" \
                                        "ADF_PIPELINE_NAME=DataPipeline" \
                                        "DATABRICKS_NAME=$databricksname" \
                                        "AZURE_RM_CONNECTION=azure_rm_connection" \
                                        "DATABRICKS_URL=<URL copied from Databricks in Azure portal>" \
                                        "STORAGE_ACCOUNT_NAME=$storageName" \
                                        "STORAGE_CONTAINER_NAME=rawdata"
    
  4. Buat grup variabel kedua bernama keys-vg. Grup ini menarik variabel data dari Key Vault.

  5. Pilih Hubungkan rahasia dari Azure Key Vault sebagai variabel. Untuk informasi selengkapnya, lihat Menautkan grup variabel ke rahasia di Azure Key Vault.

  6. Otorisasi langganan Azure.

  7. Pilih semua rahasia yang tersedia untuk ditambahkan sebagai variabel (databricks-token,StorageConnectString,StorageKey).

Mengonfigurasi Azure Databricks dan Azure Data Factory

Ikuti langkah-langkah di bagian berikutnya untuk menyiapkan Azure Databricks dan Azure Data Factory.

Membuat testscope di Azure Databricks

  1. Di portal Azure, buka Brankas Kunci>Properti.
  2. Salin Nama DNS dan ID Sumber Daya.
  3. Di ruang kerja Azure Databricks Anda, buat cakupan rahasia bernama testscope.

Menambahkan kluster baru di Azure Databricks

  1. Di ruang kerja Azure Databricks, buka Kluster.
  2. Pilih Buat Kluster.
  3. Beri nama dan simpan kluster baru Anda.
  4. Pilih nama kluster baru Anda.
  5. Dalam string URL, salin konten antara /clusters/ dan /configuration. Misalnya, dalam string clusters/0306-152107-daft561/configuration, Anda akan menyalin 0306-152107-daft561.
  6. Simpan string ini untuk digunakan nanti.

Menyiapkan repositori kode Anda di Azure Data Factory

  1. Di Azure Data Factory, buka Penulis & Pantau. Untuk informasi selengkapnya, lihat Membuat data factory.
  2. Pilih Siapkan repositori kode lalu sambungkan repositori Anda.
    • Jenis repositori: Azure DevOps Git
    • Organisasi Azure DevOps: Akun aktif Anda
    • Nama proyek: Proyek alur data Azure DevOps Anda
    • Nama repositori Git: Gunakan yang sudah ada.
      • Pilih cabang utama untuk kolaborasi.
      • Atur /azure-data-pipeline/factorydata sebagai folder akar.
    • Cabang untuk mengimpor sumber daya ke: Pilih Gunakan yang sudah ada dan utama.
  1. Di UI portal Azure, buka brankas kunci.
  2. Pilih Kebijakan akses.
  3. Pilih Tambahkan Kebijakan Akses.
  4. Untuk Konfigurasikan dari templat, pilih Kunci & Pengelolaan Rahasia.
  5. Di Pilih prinsipal, cari nama pabrik data pengembangan Anda dan tambahkan.
  6. Pilih Tambahkan untuk menambahkan kebijakan akses Anda.
  7. Ulangi langkah-langkah ini untuk menambahkan kebijakan akses untuk pabrik data pengujian.

Memperbarui layanan tertaut Key Vault di Azure Data Factory

  1. Pergi ke Mengelola>layanan tertaut.
  2. Perbarui brankas kunci Azure untuk menyambungkan ke langganan Anda.

Memperbarui layanan tertaut penyimpanan di Azure Data Factory

  1. Pergi ke Kelola>Layanan Tertaut.
  2. Perbarui nilai Azure Blob Storage untuk menyambungkan ke langganan Anda.

Memperbarui layanan tertaut Azure Databricks di Azure Data Factory

  1. Buka Mengelola>layanan Tertaut.
  2. Perbarui nilai Azure Databricks untuk menyambungkan ke langganan Anda.
  3. Untuk ID Kluster yang Ada, masukkan nilai kluster yang Anda simpan sebelumnya.

Menguji dan memublikasikan fasilitas data

  1. Di Azure Data Factory, buka Edit.
  2. Buka DataPipeline.
  3. Pilih Variabel.
  4. Verifikasi bahwa storage_account_name merujuk ke akun penyimpanan Anda di portal Azure. Perbarui nilai default jika perlu. Simpan perubahan Anda.
  5. Pilih Validasi untuk memverifikasi DataPipeline.
  6. Pilih Terbitkan untuk menerbitkan aset pabrik data ke adf_publish cabang repositori Anda.

Jalankan alur CI/CD

Ikuti langkah-langkah ini untuk menjalankan integrasi berkelanjutan dan alur pengiriman berkelanjutan (CI/CD):

  1. Buka halaman Pipeline. Lalu, pilih tindakan untuk membuat alur baru.
  2. Pilih Azure Repos Git sebagai lokasi kode sumber Anda.
  3. Saat daftar repositori muncul, pilih repositori Anda.
  4. Saat Anda menyiapkan pipeline Anda, pilih File YAML Azure Pipelines yang sudah ada. Pilih file YAML: /azure-data-pipeline/data_pipeline_ci_cd.yml.
  5. Jalankan alur. Saat menjalankan pipeline untuk pertama kalinya, Anda mungkin perlu memberikan izin untuk mengakses sumber daya selama pelaksanaan.

Membersihkan sumber daya

Jika Anda tidak akan terus menggunakan aplikasi ini, hapus alur data Anda dengan mengikuti langkah-langkah berikut:

  1. data-pipeline-cicd-rg Hapus grup sumber daya.
  2. Hapus proyek Azure DevOps Anda.

Langkah berikutnya