Analisis data spaceborne dengan Azure Synapse Analytics

Azure Synapse Analytics
Azure AI services
Azure Computer Vision
Azure Batch
Azure Storage

Arsitektur ini dirancang untuk menunjukkan implementasi end-to-end yang melibatkan ekstraksi, pemuatan, transformasi, dan analisis data spaceborne dengan menggunakan pustaka geospasial dan model AI dengan Azure Synapse Analytics. Artikel ini juga menunjukkan cara mengintegrasikan model Azure Cognitive Services khusus geospasial, model AI dari mitra, bawa data Anda sendiri, dan model AI yang menggunakan Azure Synapse Analytics. Audiens yang dimaksudkan untuk dokumen ini adalah pengguna dengan tingkat keterampilan menengah dalam bekerja dengan data geospasial atau spaceborne.

Implementasi arsitektur ini tersedia di GitHub.

Apache®, Apache Spark, Spark, logo Spark, Apache Sedona, Apache Incubator, logo bulu Apache dan logo proyek Apache Incubator adalah merek dagang terdaftar atau merek dagang dari Apache Software Foundation di Amerika Serikat dan/atau negara lain. Tidak ada dukungan dari Apache Software Foundation yang tersirat dari penggunaan tanda ini.

Arsitektur

Diagram yang menunjukkan solusi analitik pemrosesan geospasial.

Unduh file Visio arsitektur ini.

Aliran data

Bagian berikut menjelaskan tahapan dalam arsitektur.

Penyerapan data

Data spaceborne ditarik dari sumber data seperti Airbus, NAIP/USDA (melalui Planetary Computer API), dan Maxar. Data diserap ke dalam Azure Data Lake Storage.

Azure Synapse Analytics menyediakan berbagai alur dan aktivitas, seperti aktivitas Web, aktivitas Aliran Data, dan aktivitas Kustom, untuk menyambungkan ke sumber ini dan menyalin data ke Data Lake Storage.

Aktivitas Kustom Azure Synapse menjalankan logika kode yang disesuaikan pada kumpulan Azure Batch komputer virtual atau di kontainer yang kompatibel dengan Docker.

Transformasi data

Data diproses dan diubah menjadi format yang dapat dikonsumsi oleh analis dan model AI. Pustaka geospasial, termasuk GDAL, OGR, Rasterio, dan GeoPandas, tersedia untuk melakukan transformasi.

Kumpulan Azure Synapse Spark menyediakan kemampuan untuk mengonfigurasi dan menggunakan pustaka ini untuk melakukan transformasi data. Anda juga dapat menggunakan aktivitas Kustom Azure Synapse, yang menggunakan kumpulan Azure Batch.

Notebook Azure Synapse adalah antarmuka web yang bisa Anda gunakan untuk membuat file yang berisi kode langsung, visualisasi, dan teks narasi. Notebook adalah tempat yang baik untuk memvalidasi ide, menentukan transformasi, dan melakukan eksperimen cepat untuk mendapatkan wawasan dari data Anda dan membangun alur. Dalam kode sampel, pustaka GDAL digunakan dalam kumpulan Spark untuk melakukan transformasi data. Untuk informasi selengkapnya, lihat bagian kode sampel di artikel ini.

Solusi sampel mengimplementasikan alur ini dari langkah transformasi data ini. Sampel ditulis dengan asumsi bahwa data disalin di Data Lake Storage dengan metode penyerapan data yang dijelaskan sebelumnya. Ini menunjukkan implementasi alur ini untuk pemrosesan data raster.

Analisis dan eksekusi model AI

Lingkungan notebook Azure Synapse menganalisis dan menjalankan model AI.

Model AI yang dikembangkan dengan layanan seperti model Visi Kustom Cognitive Services, dilatih di lingkungan mereka sendiri, dan dikemas sebagai kontainer Docker tersedia di lingkungan Azure Synapse.

Di lingkungan Azure Synapse, Anda juga dapat menjalankan model AI yang tersedia dari mitra untuk berbagai kemampuan seperti deteksi objek, deteksi perubahan, dan klasifikasi lahan. Model-model ini dilatih di lingkungan mereka sendiri dan dikemas sebagai kontainer Docker.

Azure Synapse dapat menjalankan model AI tersebut melalui aktivitas Kustom yang menjalankan kode di kumpulan Batch sebagai executable atau kontainer Docker. Solusi sampel menunjukkan cara menjalankan model Custom Vision AI sebagai bagian dari alur Azure Synapse untuk deteksi objek di area geospasial tertentu.

Pasca-analisis dan visualisasi

  • Untuk analisis dan visualisasi lebih lanjut, output dari analisis dan eksekusi model AI dapat disimpan di Data Lake Storage, database berbasis data seperti Azure Database for PostgreSQL, atau Azure Cosmos DB. Solusi sampel menunjukkan cara mengubah output model AI dan menyimpannya sebagai data GeoJSON di Data Lake Storage dan Azure Database for PostgreSQL. Anda dapat mengambil dan mengkueri output dari sana.
  • Untuk visualisasi:
    • Anda dapat menggunakan alat berlisensi seperti ArcGIS Desktop atau alat sumber terbuka seperti QGIS.
    • Anda dapat menggunakan Power BI untuk mengakses GeoJSON dari berbagai sumber data dan memvisualisasikan data sistem informasi geografis (GIS).
    • Anda dapat menggunakan pustaka berbasis JavaScript geospasial sisi klien untuk memvisualisasikan data dalam aplikasi web.

Komponen

Sumber data

Penyerapan data

  • Azure Synapse Analytics adalah layanan analitik tak terbatas yang menyatukan integrasi data, pergudangan data perusahaan, dan analitik big data. Azure Synapse berisi mesin dan pengalaman Integrasi Data yang sama dengan Azure Data Factory, sehingga Anda dapat membuat alur ETL dalam skala besar tanpa meninggalkan Azure Synapse.
  • Azure Data Lake Storage didedikasikan untuk analitik big data, dan dibangun di Azure Blob Storage.
  • Azure Batch memungkinkan Anda menjalankan dan menskalakan sejumlah besar pekerjaan komputasi batch di Azure. Tugas batch dapat berjalan langsung pada komputer virtual (simpul) di kumpulan Batch, tetapi Anda juga dapat mengatur kumpulan Batch untuk menjalankan tugas dalam kontainer yang kompatibel dengan Docker pada simpul.
    • Aktivitas Kustom Azure Synapse menjalankan logika kode yang disesuaikan pada kumpulan Azure Batch komputer virtual atau dalam kontainer Docker.
  • Azure Key Vault menyimpan dan mengontrol akses ke rahasia seperti token, kata sandi, dan kunci API. Key Vault juga membuat dan mengontrol kunci enkripsi dan mengelola sertifikat keamanan.

Transformasi data

Pustaka dan paket geospasial berikut digunakan bersama untuk transformasi. Pustaka dan paket ini diinstal di kumpulan Spark tanpa server, yang kemudian dilampirkan ke buku catatan Azure Synapse. Untuk informasi tentang menginstal pustaka, lihat Menginstal paket geospasial di kumpulan Azure Synapse Spark, nanti di artikel ini.

  • Pustaka geospasial
    • GDAL adalah pustaka alat untuk memanipulasi data spaceborne. GDAL bekerja pada jenis data raster dan vektor. Ini adalah alat yang baik untuk mengetahui apakah Anda bekerja dengan data spaceborne.
    • Rasterio adalah modul untuk pemrosesan raster. Anda dapat menggunakannya untuk membaca dan menulis beberapa format raster yang berbeda di Python. Rasterio didasarkan pada GDAL. Ketika modul diimpor, Python secara otomatis mendaftarkan semua driver GDAL yang diketahui untuk membaca format yang didukung.
    • GeoPandas adalah proyek sumber terbuka yang dapat mempermudah pekerjaan dengan data spaceborne di Python. GeoPandas memperluas jenis data yang digunakan oleh Pandas untuk memungkinkan operasi spasial pada jenis geometris.
    • Shapely adalah paket Python untuk analisis set-theoretic dan manipulasi fitur planar. Ini menggunakan fungsi (melalui modul ctypes Python) dari pustaka GEOS yang disebarkan secara luas.
    • pyproj melakukan transformasi kartografi. Ini mengonversi dari garis bujur dan lintang ke proyeksi peta asli x, koordinat y, dan sebaliknya, dengan menggunakan PROJ.
  • Azure Batch memungkinkan Anda menjalankan dan menskalakan sejumlah besar pekerjaan komputasi batch di Azure.
  • Notebook Azure Synapse adalah antarmuka web untuk membuat file yang berisi kode langsung, visualisasi, dan teks naratif. Anda bisa menambahkan notebook Azure Synapse yang sudah ada ke alur Azure Synapse dengan menggunakan aktivitas Notebook.
  • Kumpulan Apache Spark menyediakan kemampuan untuk mengonfigurasi dan menggunakan pustaka untuk melakukan transformasi data. Anda dapat menambahkan pekerjaan Spark yang ada ke alur Azure Synapse dengan menggunakan aktivitas Definisi Kerja Spark.

Analisis dan pemodelan AI

  • Azure Synapse menyediakan kemampuan pembelajaran mesin.
  • Azure Batch memungkinkan Anda menjalankan dan menskalakan sejumlah besar pekerjaan komputasi batch di Azure. Dalam solusi ini, aktivitas Kustom Azure Synapse digunakan untuk menjalankan model AI berbasis Docker pada kumpulan Azure Batch.
  • Azure Cognitive Services menyediakan kemampuan untuk menyematkan visi ke dalam aplikasi Anda. Anda dapat menggunakan Custom Vision, komponen Cognitive Services, untuk menyesuaikan dan menyematkan analisis gambar visi komputer canggih untuk domain tertentu.
  • Anda juga dapat menggunakan model AI bawa sendiri dan model AI mitra Microsoft seperti blackshark.ai.

Tautan pasca-analisis dan visualisasi

  • Azure Database for PostgreSQL adalah layanan database relasional yang dikelola sepenuhnya yang dirancang untuk beban kerja hyperscale. Ini mendukung data spaceborne melalui ekstensi PostGIS .
  • Azure Cosmos DB mendukung pengindeksan dan kueri data titik geospasial yang diwakili dalam GeoJSON.
  • Power BI adalah alat visualisasi data interaktif untuk membuat laporan dan dasbor. Anda bisa mendapatkan wawasan tentang data spaceborne dari Esri ArcGIS Maps.
  • QGIS adalah GIS sumber terbuka gratis untuk membuat, mengedit, memvisualisasikan, menganalisis, dan menerbitkan informasi geospasial.
  • ArcGIS Desktop adalah produk berlisensi yang disediakan oleh Esri. Anda dapat menggunakannya untuk membuat, menganalisis, mengelola, dan berbagi informasi geografis.

Alternatif

Jika Anda ingin menjalankan model AI kontainer yang dapat Anda panggil dari Azure Synapse, Anda dapat menggunakan Azure Kubernetes Service, Azure Container Instances, atau Azure Container Apps.

Azure Databricks menyediakan alternatif untuk menghosting alur analitik.

Spark di Azure HDInsight menyediakan alternatif untuk menggunakan pustaka geospasial di lingkungan Apache Spark.

Berikut adalah beberapa pustaka dan kerangka kerja alternatif yang dapat Anda gunakan untuk pemrosesan data spaceborne:

  • Apache Sedona, sebelumnya bernama GeoSpark, adalah sistem komputasi kluster untuk memproses data spasial skala besar. Sedona memperluas Spark dan Spark SQL dengan Himpunan Data Terdistribusi Spatial Resilient out-of-the-box dan SpatialSQL yang secara efisien memuat, memproses, dan menganalisis data spasial skala besar di seluruh komputer.
  • Dask untuk Python adalah pustaka komputasi paralel yang menskalakan ekosistem Python yang ada.

Detail skenario

Pengumpulan data spaceborne semakin umum. Untuk penerapan kecerdasan buatan, arsip data yang disimpan diperlukan untuk pembelajaran mesin. Kebutuhan untuk membangun solusi berbasis cloud untuk analisis data spaceborne menjadi lebih penting untuk memungkinkan perusahaan dan pemerintah mendorong keputusan bisnis dan taktis yang lebih tepat.

Potensi penggunaan kasus

Solusi ini sangat ideal untuk industri dirgantara dan pesawat terbang. Ini membahas skenario ini:

  • Penyerapan dan pemrosesan data raster
  • Deteksi objek melalui model AI yang telah dilatih sebelumnya
  • Klasifikasi massa tanah melalui model AI
  • Memantau perubahan lingkungan melalui model AI
  • Himpunan data turunan dari set citra yang telah diproscesikan sebelumnya
  • Visualisasi vektor/konsumsi area kecil
  • Pemfilteran data vektor dan gabungan lintas data

Pertimbangan

Pertimbangan ini mengimplementasikan pilar Azure Well-Architected Framework, yang merupakan serangkaian prinsip panduan yang dapat digunakan untuk meningkatkan kualitas beban kerja. Untuk informasi selengkapnya, lihat Microsoft Azure Well-Architected Framework.

Keunggulan operasional

Jika Anda berkolaborasi dengan menggunakan Git untuk kontrol sumber, Anda dapat menggunakan Synapse Studio untuk mengaitkan ruang kerja Anda dengan repositori Git, Azure DevOps, atau GitHub. Untuk informasi selengkapnya, lihat Kontrol sumber di Synapse Studio.

  • Di ruang kerja Azure Synapse, CI/CD memindahkan semua entitas dari satu lingkungan (pengembangan, pengujian, produksi) ke lingkungan lain.
  • Anda dapat menggunakan alur rilis Azure DevOps dan GitHub Actions untuk mengotomatiskan penyebaran ruang kerja Azure Synapse ke beberapa lingkungan.

Performa

  • Azure Synapse mendukung Apache Spark 3.1.2, yang lebih berkinerja daripada pendahulunya.
  • Untuk informasi tentang penskalaan kumpulan Spark dan ukuran simpul, lihat Kumpulan Spark di Azure Synapse Analytics.
  • Dengan Azure Batch, Anda dapat menskalakan secara intrinsik paralel untuk transformasi yang dikirimkan dalam aktivitas Azure Synapse Custom. Azure Batch mendukung ukuran VM khusus yang dioptimalkan GPU yang dapat Anda gunakan untuk menjalankan model AI.

Keandalan

Keandalan memastikan aplikasi Anda dapat mencapai komitmen yang Anda buat kepada pelanggan Anda. Untuk informasi selengkapnya, lihat Gambaran umum pilar keandalan.

Untuk informasi SLA, lihat Azure Synapse SLA.

Keamanan

Keamanan memberikan jaminan terhadap serangan yang disengaja dan penyalahgunaan data dan sistem berharga Anda. Untuk informasi selengkapnya, lihat Gambaran Umum pilar keamanan.

Lihat artikel ini untuk praktik terbaik keamanan:

Pengoptimalan biaya

Optimalisasi biaya adalah tentang mencari cara untuk mengurangi pengeluaran yang tidak perlu dan meningkatkan efisiensi operasional. Untuk informasi selengkapnya, lihat Gambaran umum pilar pengoptimalan biaya.

Sumber daya ini menyediakan informasi tentang harga dan pengoptimalan biaya:

Catatan

Untuk harga dan ketentuan lisensi untuk model AI mitra, lihat dokumentasi mitra.

Menyebarkan skenario ini

Penyebaran Bicep dari solusi sampel tersedia. Untuk mulai menggunakan penyebaran ini, lihat instruksi ini.

Diagram yang menunjukkan arsitektur solusi sampel yang disebarkan.

Unduh file Visio arsitektur ini.

Batasan

Arsitektur ini menunjukkan solusi geoproses dan analitik end-to-end yang menggunakan Azure Synapse. Implementasi sampel ini ditargetkan untuk area kecil hingga menengah yang menarik dan geoproscessing data raster bersamaan terbatas.

Kode sampel

Instruksi berikut menjelaskan cara membaca, menulis, dan menerapkan transformasi ke data raster yang disimpan di Azure Data Lake Storage dengan menggunakan buku catatan Synapse. Tujuannya lebih untuk menunjukkan penggunaan pustaka di Synapse notebooks daripada menunjukkan transformasi.

Prasyarat

Petunjuk

  • Cetak informasi dari data raster:

    from osgeo import gdal
    gdal.UseExceptions()
    access_key = TokenLibrary.getSecret('<key-vault-name>','<secret-name>')
    gdal.SetConfigOption('AZURE_STORAGE_ACCOUNT', '<storage_account_name>')
    gdal.SetConfigOption('AZURE_STORAGE_ACCESS_KEY', access_key)
    dataset_info = gdal.Info('/vsiadls/aoa/input/sample_image.tiff')  #/vsiadls/<container_name>/path/to/image
    print(dataset_info)
    

    Catatan

    /vsiadls/ adalah handler sistem file yang memungkinkan pembacaan acak on-the-fly terutama file non-publik yang tersedia dalam sistem file Azure Data Lake Storage. Pengunduhan seluruh file sebelumnya tidak diperlukan. /vsiadls/ mirip /vsiaz/dengan . Ini menggunakan opsi konfigurasi yang sama untuk autentikasi. Tidak seperti /vsiaz/, /vsiadls/ menyediakan manajemen direktori nyata dan dukungan ACL bergaya Unix. Untuk beberapa fitur, dukungan hierarkis perlu diaktifkan di penyimpanan Azure. Untuk informasi selengkapnya, lihat dokumentasi/vsiadls/.

    Driver: GTiff/GeoTIFF
    Files: /vsiadls/naip/input/sample_image.tiff
    Size is 6634, 7565
    Coordinate System is:
    PROJCRS["NAD83 / UTM zone 16N",
        BASEGEOGCRS["NAD83",
            DATUM["North American Datum 1983",
                ELLIPSOID["GRS 1980",6378137,298.257222101,
                    LENGTHUNIT["metre",1]]],
            PRIMEM["Greenwich",0,
                ANGLEUNIT["degree",0.0174532925199433]],
            ID["EPSG",4269]],
        CONVERSION["UTM zone 16N",
            METHOD["Transverse Mercator",
                ID["EPSG",9807]],
            PARAMETER["Latitude of natural origin",0,
                ANGLEUNIT["degree",0.0174532925199433],
                ID["EPSG",8801]],
            PARAMETER["Longitude of natural origin",-87,
                ANGLEUNIT["degree",0.0174532925199433],
                ID["EPSG",8802]],
            PARAMETER["Scale factor at natural origin",0.9996,
                SCALEUNIT["unity",1],
                ID["EPSG",8805]],
            PARAMETER["False easting",500000,
                LENGTHUNIT["metre",1],
                ID["EPSG",8806]],
            PARAMETER["False northing",0,
                LENGTHUNIT["metre",1],
                ID["EPSG",8807]]],
        CS[Cartesian,2],
            AXIS["(E)",east,
                ORDER[1],
                LENGTHUNIT["metre",1]],
            AXIS["(N)",north,
                ORDER[2],
                LENGTHUNIT["metre",1]],
        USAGE[
            SCOPE["Engineering survey, topographic mapping."],
            AREA["North America - between 90°W and 84°W - onshore and offshore. Canada - Manitoba; Nunavut; Ontario. United States (USA) - Alabama; Arkansas; Florida; Georgia; Indiana; Illinois; Kentucky; Louisiana; Michigan; Minnesota; Mississippi; Missouri; North Carolina; Ohio; Tennessee; Wisconsin."],
            BBOX[23.97,-90,84,-84]],
        ID["EPSG",26916]]
    Data axis to CRS axis mapping: 1,2
    Origin = (427820.000000000000000,3395510.000000000000000)
    Pixel Size = (1.000000000000000,-1.000000000000000)
    Metadata:
      AREA_OR_POINT=Area
    Image Structure Metadata:
      COMPRESSION=DEFLATE
      INTERLEAVE=PIXEL
      LAYOUT=COG
      PREDICTOR=2
    Corner Coordinates:
    Upper Left  (  427820.000, 3395510.000) ( 87d45'13.12"W, 30d41'24.67"N)
    Lower Left  (  427820.000, 3387945.000) ( 87d45'11.21"W, 30d37'18.94"N)
    Upper Right (  434454.000, 3395510.000) ( 87d41' 3.77"W, 30d41'26.05"N)
    Lower Right (  434454.000, 3387945.000) ( 87d41' 2.04"W, 30d37'20.32"N)
    Center      (  431137.000, 3391727.500) ( 87d43' 7.54"W, 30d39'22.51"N)
    Band 1 Block=512x512 Type=Byte, ColorInterp=Red
      Overviews: 3317x3782, 1658x1891, 829x945, 414x472
    Band 2 Block=512x512 Type=Byte, ColorInterp=Green
      Overviews: 3317x3782, 1658x1891, 829x945, 414x472
    Band 3 Block=512x512 Type=Byte, ColorInterp=Blue
      Overviews: 3317x3782, 1658x1891, 829x945, 414x472
    Band 4 Block=512x512 Type=Byte, ColorInterp=Undefined
      Overviews: 3317x3782, 1658x1891, 829x945, 414x472
    
  • Konversi GeoTiff ke PNG dengan menggunakan GDAL:

    from osgeo import gdal
    gdal.UseExceptions()
    access_key = TokenLibrary.getSecret('<key-vault-name>','<secret-name>')
    gdal.SetConfigOption('AZURE_STORAGE_ACCOUNT', '<storage_account_name>')
    gdal.SetConfigOption('AZURE_STORAGE_ACCESS_KEY', access_key)
    tiff_in = "/vsiadls/aoa/input/sample_image.tiff" #/vsiadls/<container_name>/path/to/image
    png_out = "/vsiadls/aoa/input/sample_image.png" #/vsiadls/<container_name>/path/to/image
    options = gdal.TranslateOptions(format='PNG')
    gdal.Translate(png_out, tiff_in, options=options)
    
  • Simpan gambar GeoTiff di Azure Data Lake Storage.

    Karena bagaimana data disimpan di cloud dan fakta bahwa penangan /vsiaz/ file dan /vsiadls/ hanya mendukung penulisan berurutan, kami menggunakan fitur pemasangan file yang tersedia dalam paket mssparkutils. Setelah output ditulis ke lokasi pemasangan, salin ke Azure Data Lake Storage seperti yang ditunjukkan dalam transformasi sampel ini:

    import shutil
    import sys
    from osgeo import gdal
    from notebookutils import mssparkutils
    
    mssparkutils.fs.mount(
        "abfss://<container_name>@<storage_account_name>.dfs.core.windows.net",
        "/<mount_path>",
        {"linkedService":"<linked_service_name>"}
    )
    
    access_key = TokenLibrary.getSecret('<key-vault-name>','<secret-name>')
    gdal.SetConfigOption('AZURE_STORAGE_ACCOUNT', '<storage_account_name>')
    gdal.SetConfigOption('AZURE_STORAGE_ACCESS_KEY', access_key)
    
    options = gdal.WarpOptions(options=['tr'], xRes=1000, yRes=1000)
    gdal.Warp('dst_img.tiff', '/vsiadls/<container_name>/path/to/src_img.tiff', options=options)
    
    jobId = mssparkutils.env.getJobId()
    
    shutil.copy("dst_img.tiff", f"/synfs/{jobId}/<mount_path>/path/to/dst_img.tiff")
    

    Di Azure Synapse, Anda dapat menambahkan Azure Data Lake Storage sebagai salah satu layanan tertaut. Untuk mengetahui petunjuknya, lihat Layanan tertaut.

Solusi sampel

Implementasi arsitektur ini tersedia di GitHub.

Diagram ini memperlihatkan langkah-langkah dalam solusi sampel:

Diagram yang memperlihatkan langkah-langkah dalam solusi sampel.

Unduh file Visio arsitektur ini.

Catatan

Data ditarik dari sumber data spaceborne dan disalin ke Azure Data Lake Storage. Penyerapan data bukan bagian dari implementasi referensi.

  1. Alur Azure Synapse membaca data spaceborne dari Azure Data Lake Storage.
  2. Data diproses dengan pustaka GDAL di buku catatan Azure Synapse.
  3. Data yang diproses disimpan di Azure Data Lake Storage.
  4. Data yang diproses dibaca dari Azure Data Lake Storage dan diteruskan ke model Custom Vision AI deteksi objek oleh aktivitas Kustom Azure Synapse. Aktivitas Kustom menggunakan kumpulan Azure Batch untuk menjalankan model deteksi objek.
  5. Model deteksi objek menghasilkan daftar objek dan kotak pembatas yang terdeteksi.
  6. Objek yang terdeteksi dikonversi ke GeoJSON dan disimpan di Azure Data Lake Storage.
  7. Data GeoJSON dibaca dari Azure Data Lake Storage dan disimpan dalam database PostgreSQL.
  8. Data dibaca dari database PostgreSQL. Ini dapat divisualisasikan lebih lanjut dalam alat seperti ArcGIS Pro, QGIS, dan Power BI.

Menginstal paket geospasial di kumpulan Azure Synapse Spark

Anda perlu menginstal paket di kumpulan Azure Synapse Spark dengan menggunakan fitur manajemen paket. Untuk informasi selengkapnya, lihat Manajemen paket Azure Synapse.

Untuk mendukung beban kerja data spaceborne di Azure Synapse, Anda memerlukan pustaka seperti GDAL, Rasterio, dan GeoPandas. Anda dapat menginstal pustaka ini di kumpulan Apache Spark tanpa server dengan menggunakan file YAML. Pustaka Anaconda telah diinstal sebelumnya di kumpulan Spark.

Prasyarat

Petunjuk

  1. Pustaka dan paket berikut tersedia dalam file environment.yml . Sebaiknya gunakan file ini untuk menginstal pustaka di kumpulan Spark. Jika Anda menyalin konten di bawah ini, pastikan tidak ada tab, karena YAML hanya mengizinkan spasi sebagai indentasi.

    name: aoi-env
    channels:
      - conda-forge
      - defaults
    dependencies:
      - azure-storage-file-datalake
      - gdal=3.3.0
      - libgdal
      - pip>=20.1.1
      - pyproj
      - shapely
      - pip:
        - rasterio
        - geopandas
    

    Catatan

    GDAL menggunakan sistem /vsiadls/ file virtual untuk Azure Data Lake Storage. Fungsionalitas ini tersedia mulai dari GDAL v3.3.0. Pastikan untuk menggunakan versi 3.3.0 atau yang lebih baru.

  2. https://web.azuresynapse.net Buka dan masuk ke ruang kerja Anda.

  3. Pilih Kelola di panel navigasi lalu pilih kumpulan Apache Spark.

  4. Pilih Paket dengan memilih tombol elipsis (...) pada kumpulan Spark. Unggah file environment.yml dari lokal dan terapkan pengaturan paket.

  5. Bagian pemberitahuan portal memberi tahu Anda ketika penginstalan selesai. Anda juga dapat melacak kemajuan penginstalan dengan mengambil langkah-langkah berikut:

    1. Buka daftar aplikasi Spark pada tab Monitor .
    2. Pilih tautan SystemReservedJob-LibraryManagement yang sesuai dengan pembaruan kumpulan Anda.
    3. Lihat log driver.
  6. Jalankan kode berikut untuk memverifikasi bahwa versi pustaka yang benar terinstal. Pustaka yang telah diinstal sebelumnya yang diinstal Conda juga akan dicantumkan.

    import pkg_resources
    for d in pkg_resources.working_set:
       print(d)
    

Untuk informasi selengkapnya, lihat Mengelola paket.

Kontributor

Artikel ini sedang diperbarui dan dikelola oleh Microsoft. Ini awalnya ditulis oleh kontributor berikut.

Penulis utama:

Kontributor tambahan:

Langkah berikutnya