Bu mimari, Azure Synapse Analytics ile jeo-uzamsal kitaplıkları ve yapay zeka modellerini kullanarak uzaydaki verileri ayıklamayı, yüklemeyi, dönüştürmeyi ve analiz etmeyi içeren uçtan uca bir uygulamayı göstermek için tasarlanmıştır. Bu makalede ayrıca jeo-uzamsal olarak belirli Azure Bilişsel Hizmetler modellerini, iş ortaklarından yapay zeka modellerini, kendi verilerinizi getirmeyi ve Azure Synapse Analytics kullanan yapay zeka modellerini tümleştirme adımları gösterilmektedir. Bu belgenin hedef kitlesi, jeo-uzamsal veya uzaysal verilerle çalışma konusunda ara beceri düzeylerine sahip kullanıcılardır.
Bu mimarinin bir uygulaması GitHub'da kullanılabilir.
Apache®, Apache Spark, Spark, Spark logosu, Apache Sedona, Apache Incubator, Apache feather logosu ve Apache Incubator proje logosu, Apache Software Foundation'ın Birleşik Devletler ve/veya diğer ülkelerdeki kayıtlı ticari markaları veya ticari markalarıdır. Bu işaretlerin kullanılması Apache Software Foundation tarafından onaylanmamaktadır.
Mimari
Bu mimarinin bir Visio dosyasını indirin.
Veri akışı
Aşağıdaki bölümlerde mimarideki aşamalar açıklanmaktadır.
Veri alımı
Uzaydaki veriler Airbus, NAIP/USDA (Gezegen Bilgisayarı API'si aracılığıyla) ve Maxar gibi veri kaynaklarından çekilir. Veriler Azure Data Lake Storage'a aktarılır.
Azure Synapse Analytics, bu kaynaklara bağlanmak ve verileri Data Lake Storage kopyalamak için Web etkinliği, Veri Akışı etkinliği ve Özel etkinlikler gibi çeşitli işlem hatları ve etkinlikler sağlar.
Azure Synapse Özel etkinlikler, özelleştirilmiş kod mantığınızı Azure Batch bir sanal makine havuzunda veya Docker uyumlu kapsayıcılarda çalıştırır.
Veri dönüştürme
Veriler işlenir ve analistlerin ve yapay zeka modellerinin kullanabileceği bir biçime dönüştürülür. GDAL, OGR, Rasterio ve GeoPandas gibi jeo-uzamsal kitaplıklar dönüşümü gerçekleştirmek için kullanılabilir.
Azure Synapse Spark havuzları, veri dönüşümlerini gerçekleştirmek için bu kitaplıkları yapılandırma ve kullanma olanağı sağlar. Azure Batch havuzları kullanan Azure Synapse Özel etkinlikleri de kullanabilirsiniz.
Azure Synapse not defteri, canlı kod, görselleştirmeler ve anlatı metni içeren dosyalar oluşturmak için kullanabileceğiniz bir web arabirimidir. Not defterleri fikirleri doğrulamak, dönüşümleri tanımlamak ve verilerinizden içgörüler elde etmek ve bir işlem hattı oluşturmak için hızlı denemeler yapmak için iyi bir yerdir. Örnek kodda GDAL kitaplığı bir Spark havuzunda veri dönüştürmeleri gerçekleştirmek için kullanılır. Daha fazla bilgi için bu makalenin örnek kod bölümüne bakın.
Örnek çözüm, bu veri dönüştürme adımından bu işlem hattını uygular. Örnek, verilerin daha önce açıklanan veri alımı yöntemleri tarafından Data Lake Storage kopyalandığı varsayımıyla yazılır. Bu işlem hattının raster veri işleme için uygulanmasını gösterir.
Yapay zeka modellerinin analizi ve yürütülmesi
Azure Synapse not defteri ortamı yapay zeka modellerini analiz eder ve çalıştırır.
Bilişsel Hizmetler Özel Görüntü İşleme modeli gibi hizmetlerle geliştirilen, kendi ortamlarında eğitilen ve Docker kapsayıcıları olarak paketlenen yapay zeka modelleri Azure Synapse ortamında kullanılabilir.
Azure Synapse ortamında, nesne algılama, değişiklik algılama ve arazi sınıflandırması gibi çeşitli özellikler için iş ortaklarının sunduğu yapay zeka modellerini de çalıştırabilirsiniz. Bu modeller kendi ortamlarında eğitilir ve Docker kapsayıcıları olarak paketlenir.
Azure Synapse batch havuzlarında kodu yürütülebilir dosya veya Docker kapsayıcıları olarak çalıştıran bir Özel etkinlik aracılığıyla bu tür yapay zeka modellerini çalıştırabilir. Örnek çözüm, belirli bir jeo-uzamsal alan üzerinde nesne algılamaya yönelik bir Azure Synapse işlem hattının parçası olarak Özel Görüntü İşleme yapay zeka modelini çalıştırmayı gösterir.
Analiz sonrası ve görselleştirme
- Daha fazla analiz ve görselleştirme için yapay zeka modellerinin analizinden ve yürütülmesinden elde edilecek çıkış Data Lake Storage, PostgreSQL için Azure Veritabanı veya Azure Cosmos DB gibi veri kullanan veritabanlarında depolanabilir. Örnek çözüm, yapay zeka modeli çıkışını dönüştürmeyi ve Data Lake Storage ve PostgreSQL için Azure Veritabanı GeoJSON verileri olarak depolamayı gösterir. Buradan çıkışı alabilir ve sorgulayabilirsiniz.
- Görselleştirme için:
- ArcGIS Desktop gibi lisanslı araçları veya QGIS gibi açık kaynak araçları kullanabilirsiniz.
- Power BI'ı kullanarak çeşitli veri kaynaklarından GeoJSON'a erişebilir ve coğrafi bilgi sistemi (GIS) verilerini görselleştirebilirsiniz.
- Web uygulamalarında verileri görselleştirmek için istemci tarafı jeo-uzamsal JavaScript tabanlı kitaplıkları kullanabilirsiniz.
Bileşenler
Veri kaynakları
- Görüntü sağlayıcıları.
- Kendi verilerinizi getirin. Kendi verilerinizi Data Lake Storage kopyalayın.
Veri alımı
- Azure Synapse Analytics, veri tümleştirmesi, kurumsal veri ambarı ve büyük veri analizini bir araya getiren sınırsız bir analiz hizmetidir. Azure Synapse, Azure Data Factory ile aynı Veri Entegrasyonu altyapısını ve deneyimlerini içerdiğinden, Azure Synapse çıkmadan ölçekli ETL işlem hatları oluşturabilirsiniz.
- Azure Data Lake Storage, büyük veri analizine ayrılmıştır ve Azure Blob Depolama üzerine kurulmuştur.
- Azure Batch, Azure'da çok sayıda toplu işlem işini çalıştırmanıza ve ölçeklendirmenize olanak tanır. Batch görevleri doğrudan bir Batch havuzundaki sanal makinelerde (düğümler) çalıştırılabilir, ancak düğümlerdeki Docker uyumlu kapsayıcılarda görevleri çalıştırmak için bir Batch havuzu da ayarlayabilirsiniz.
- Azure Synapse Özel etkinliği, Azure Batch sanal makine havuzunda veya Docker kapsayıcılarında özelleştirilmiş kod mantığı çalıştırır.
- Azure Key Vault belirteçler, parolalar ve API anahtarları gibi gizli dizilere erişimi depolar ve denetler. Key Vault ayrıca şifreleme anahtarlarını oluşturur ve denetler ve güvenlik sertifikalarını yönetir.
Veri dönüştürme
Dönüştürmeler için aşağıdaki jeo-uzamsal kitaplıklar ve paketler birlikte kullanılır. Bu kitaplıklar ve paketler sunucusuz spark havuzuna yüklenir ve bu havuz daha sonra bir Azure Synapse not defterine eklenir. Kitaplıkları yükleme hakkında bilgi için bu makalenin devamında yer alan Azure Synapse Spark havuzuna jeo-uzamsal paketleri yükleme bölümüne bakın.
- Jeo-uzamsal kitaplıklar
- GDAL , uzaydaki verileri işlemeye yönelik araçlardan oluşan bir kitaplıktır. GDAL, tarama ve vektör veri türleri üzerinde çalışır. Uzaydaki verilerle çalışıp çalışmadığınızı bilmek iyi bir araçtır.
- Rasterio , raster işlemeye yönelik bir modüldür. Python'da birkaç farklı tarama biçimi okumak ve yazmak için bunu kullanabilirsiniz. Rasterio, GDAL'i temel alır. Modül içeri aktarıldığında Python, desteklenen biçimleri okumak için bilinen tüm GDAL sürücülerini otomatik olarak kaydeder.
- GeoPandas , Python'da uzaydaki verilerle çalışmayı kolaylaştırabilen açık kaynaklı bir projedir. GeoPandas, geometrik türlerde uzamsal işlemlere olanak sağlamak için Pandas tarafından kullanılan veri türlerini genişletir.
- Shapely , planlı özelliklerin set teoretik analizi ve manipülasyonu için bir Python paketidir. Yaygın olarak dağıtılan GEOS kitaplığından (Python'ın ctypes modülü aracılığıyla) işlevlerini kullanır.
- pyproj kartografik dönüşümler gerçekleştirir. PROJ kullanarak boylam ve enlem'den yerel harita projeksiyonu x, y koordinatlarına ve tersine dönüştürür.
- Azure Batch, Azure'da çok sayıda toplu işlem işini çalıştırmanıza ve ölçeklendirmenize olanak tanır.
- Azure Synapse not defterleri canlı kod, görselleştirmeler ve anlatı metni içeren dosyalar oluşturmaya yönelik bir web arabirimidir. Not Defteri etkinliğini kullanarak mevcut Azure Synapse not defterlerini bir Azure Synapse işlem hattına ekleyebilirsiniz.
- Apache Spark havuzu , veri dönüştürmeleri gerçekleştirmek için kitaplıkları yapılandırma ve kullanma olanağı sağlar. Spark İş Tanımı etkinliğini kullanarak mevcut Spark işlerini bir Azure Synapse işlem hattına ekleyebilirsiniz.
Analiz ve yapay zeka modellemesi
- Azure Synapse makine öğrenmesi özellikleri sağlar.
- Azure Batch, Azure'da çok sayıda toplu işlem işini çalıştırmanıza ve ölçeklendirmenize olanak tanır. Bu çözümde Azure Synapse Özel etkinliği, Azure Batch havuzlarında Docker tabanlı yapay zeka modellerini çalıştırmak için kullanılır.
- Azure Bilişsel Hizmetler , uygulamalarınıza görüntü işleme ekleme olanağı sağlar. Bilişsel Hizmetler'in bir bileşeni olan Özel Görüntü İşleme kullanarak, belirli etki alanları için en yeni görüntü işleme görüntü analizini özelleştirebilir ve ekleyebilirsiniz.
- Ayrıca kendi yapay zekanızı getirin modellerini ve blackshark.ai gibi Microsoft iş ortağı yapay zeka modellerini de kullanabilirsiniz.
Analiz sonrası ve görselleştirme bağlantıları
- PostgreSQL için Azure Veritabanı, hiper ölçek iş yükleri için tasarlanmış, tam olarak yönetilen bir ilişkisel veritabanı hizmetidir. PostGIS uzantısı aracılığıyla uzaya yayılan verileri destekler.
- Azure Cosmos DB , GeoJSON'da temsil edilen jeo-uzamsal nokta verilerinin dizine alınmasını ve sorgulanmasını destekler.
- Power BI , rapor ve pano oluşturmaya yönelik etkileşimli bir veri görselleştirme aracıdır. Esri ArcGIS Haritalar'dan uzaydaki veriler hakkında içgörüler edinebilirsiniz.
- QGIS , jeo-uzamsal bilgileri oluşturmak, düzenlemek, görselleştirmek, analiz etmek ve yayımlamak için ücretsiz bir açık kaynak GIS'tir.
- ArcGIS Desktop , Esri tarafından sağlanan lisanslı bir üründür. Coğrafi bilgileri oluşturmak, analiz etmek, yönetmek ve paylaşmak için kullanabilirsiniz.
Alternatifler
Azure Synapse'den çağırabileceğiniz kapsayıcılı yapay zeka modellerini çalıştırmak istiyorsanız Azure Kubernetes Service, Azure Container Instances veya Azure Container Apps'i kullanabilirsiniz.
Azure Databricks , analiz işlem hattını barındırmak için bir alternatif sağlar.
Azure HDInsight'ta Spark , Apache Spark ortamında jeo-uzamsal kitaplıkları kullanmak için bir alternatif sağlar.
Alandan veri işleme için kullanabileceğiniz bazı alternatif kitaplıklar ve çerçeveler şunlardır:
- Eski adı GeoSpark olan Apache Sedona, büyük ölçekli uzamsal verileri işlemeye yönelik bir küme bilgi işlem sistemidir. Sedona, makineler arasında büyük ölçekli uzamsal verileri verimli bir şekilde yükleyen, işleyen ve analiz eden kullanıma hazır Uzamsal Dayanıklı Dağıtılmış Veri Kümeleri ve SpatialSQL ile Spark ve Spark SQL'i genişletir.
- Python için Dask , mevcut Python ekosistemini ölçeklendirin paralel bir bilgi işlem kitaplığıdır.
Senaryo ayrıntıları
Uzaydaki veri toplama giderek yaygınlaşıyor. Yapay zekanın uygulanması için, makine öğrenmesi için depolanan veri arşivleri gereklidir. Kuruluşların ve devletlerin daha iyi bilgilendirilmiş iş ve taktik kararları almasını sağlamak için, uzaya yayılan veri analizi için bulut tabanlı bir çözüm oluşturma ihtiyacı daha önemli hale geldi.
Olası kullanım örnekleri
Bu çözüm havacılık ve uçak endüstrileri için idealdir. Bu senaryolar şu senaryoları ele alır:
- Veri alımını ve işlenmesini tarama
- Önceden eğitilmiş yapay zeka modelleri aracılığıyla nesne algılama
- Yapay zeka modelleri aracılığıyla kara kütlelerinin sınıflandırılması
- Yapay zeka modelleri aracılığıyla ortamdaki değişiklikleri izleme
- Önceden işlenmiş görüntü kümelerinden türetilmiş veri kümeleri
- Vektör görselleştirme / küçük alan tüketimi
- Vektör veri filtreleme ve çapraz veri birleştirmeleri
Dikkat edilmesi gerekenler
Bu önemli noktalar, bir iş yükünün kalitesini artırmak için kullanılabilecek bir dizi yol gösteren ilke olan Azure Well-Architected Framework'ün yapı taşlarını uygular. Daha fazla bilgi için bkz. Microsoft Azure Well-Architected Framework.
Operasyonel Mükemmellik
Kaynak denetimi için Git kullanarak işbirliği yaparsanız, çalışma alanınızı git deposu, Azure DevOps veya GitHub ile ilişkilendirmek için Synapse Studio kullanabilirsiniz. Daha fazla bilgi için bkz. Synapse Studio'de kaynak denetimi.
- Azure Synapse çalışma alanında CI/CD tüm varlıkları bir ortamdan (geliştirme, test, üretim) başka bir ortama taşır.
- Azure DevOps yayın işlem hatlarını ve GitHub Actions kullanarak Azure Synapse çalışma alanının birden çok ortamla dağıtımını otomatikleştirebilirsiniz.
Performans
- Azure Synapse, öncüllerinden daha performanslı olan Apache Spark 3.1.2'yi destekler.
- Spark havuzu ölçeklendirme ve düğüm boyutları hakkında bilgi için bkz. Azure Synapse Analytics'te Spark havuzları.
- Azure Batch ile, Azure Synapse Özel etkinliğinde gönderilen dönüştürmeler için doğası gereği paralel ölçeği genişletebilirsiniz. Azure Batch, yapay zeka modellerini çalıştırmak için kullanabileceğiniz özel GPU için iyileştirilmiş VM boyutlarını destekler.
Güvenilirlik
Güvenilirlik, uygulamanızın müşterilerinize yaptığınız taahhütleri karşılayabilmesini sağlar. Daha fazla bilgi için bkz . Güvenilirlik sütununa genel bakış.
SLA bilgileri için bkz. Azure Synapse SLA.
Güvenlik
Güvenlik, kasıtlı saldırılara ve değerli verilerinizin ve sistemlerinizin kötüye kullanımına karşı güvence sağlar. Daha fazla bilgi için bkz. Güvenlik sütununa genel bakış.
En iyi güvenlik uygulamaları için şu makalelere bakın:
- Azure Synapse Analytics güvenliği: Giriş
- Azure Synapse Analytics güvenliği: Veri koruması
- Azure Synapse Analytics güvenliği: Erişim denetimi
- Azure Synapse Analytics güvenliği: Kimlik doğrulaması
- Azure Synapse Analytics: Ağ güvenliği
Maliyet iyileştirmesi
Maliyet iyileştirmesi, gereksiz giderleri azaltmanın ve operasyonel verimlilikleri artırmanın yollarını gözden geçmektir. Daha fazla bilgi için bkz. Maliyet iyileştirme sütununa genel bakış.
Bu kaynaklar fiyatlandırma ve maliyet iyileştirme hakkında bilgi sağlar:
- Azure Synapse maliyetlerini planlama ve yönetme
- Azure fiyatlandırma hesaplayıcısındaki Azure Synapse
- Azure Synapse'de Apache Spark havuzu
- Azure Batch düğümler ve havuzlar
- Azure fiyatlandırma hesaplayıcısındaki Azure Batch
Not
İş ortağı yapay zeka modellerinin fiyatlandırma ve lisans koşulları için iş ortağının belgelerine bakın.
Bu senaryoyu dağıtın
Örnek çözümün Bicep dağıtımı kullanılabilir. Bu dağıtımı kullanmaya başlamak için bu yönergelere bakın.
Bu mimarinin bir Visio dosyasını indirin.
Sınırlamalar
Bu mimaride Azure Synapse kullanan uçtan uca bir coğrafi işlem ve analiz çözümü gösterilmektedir. Bu örnek uygulama, küçük ve orta ölçekli bir ilgi alanı ve tarama verilerinin sınırlı eş zamanlı coğrafi olarak işlenmesi için hedeflenmiştir.
Örnek kod
Aşağıdaki yönergelerde Synapse not defteri kullanarak Azure Data Lake Storage depolanan verileri taramak için dönüştürmelerin nasıl okunacağı, yazıldığı ve uygulanacağı açıklanmaktadır. Amaç, Synapse not defterlerindeki kitaplıkların kullanımını göstermek, dönüşümü göstermekten daha fazlasıdır.
Önkoşullar
- Jeo-uzamsal kitaplıkları yükleyin.
- Gizli dizileri depolamak için bir Azure anahtar kasası oluşturun. Bu senaryoda, depolama hesabının erişim anahtarını anahtar kasasında depolayacağız. Yönergeler için bkz. Kimlik bilgilerini Azure Key Vault'de depolama.
- Azure Synapse kullanarak Azure Key Vault için bağlı bir hizmet oluşturun.
Yönergeler
Tarama verilerinden bilgileri yazdırın:
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)
Not
/vsiadls/
, Azure Data Lake Storage dosya sistemlerinde mevcut olan ve öncelikli olarak genel olmayan dosyaların anında rastgele okunmasını sağlayan bir dosya sistemi işleyicisidir. Dosyanın tamamının önceden indirilmesi gerekmez./vsiadls/
, ile/vsiaz/
benzerdir. Kimlik doğrulaması için aynı yapılandırma seçeneklerini kullanır./vsiadls/
'nin aksine/vsiaz/
, gerçek dizin yönetimi ve Unix stili ACL desteği sağlar. Bazı özellikler için Azure depolamada hiyerarşik desteğin açık olması gerekir. Daha fazla bilgi için belgelere/vsiadls/
bakın.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
GDAL kullanarak GeoTiff'i PNG'ye dönüştürün:
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)
GeoTiff görüntülerini Azure Data Lake Storage'de depolayın.
Verilerin bulutta nasıl depolandığı ve dosya işleyicilerinin yalnızca sıralı yazma işlemlerini
/vsiaz/
/vsiadls/
desteklemesi nedeniyle , mssparkutils paketinde bulunan dosya bağlama özelliğini kullanırız. Çıkış bağlama konumuna yazıldıktan sonra bu örnek dönüştürmede gösterildiği gibi Azure Data Lake Storage kopyalayın: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")
Azure Synapse'da bağlı hizmetlerden biri olarak Azure Data Lake Storage ekleyebilirsiniz. Yönergeler için bkz . Bağlı hizmetler.
Örnek çözüm
Bu mimarinin bir uygulaması GitHub'da kullanılabilir.
Bu diyagramda örnek çözümdeki adımlar gösterilmektedir:
Bu mimarinin bir Visio dosyasını indirin.
Not
Veriler uzaydaki veri kaynaklarından alınır ve Azure Data Lake Storage kopyalanır. Veri alımı başvuru uygulamasının bir parçası değildir.
- Azure Synapse işlem hattı, Azure Data Lake Storage alandan gelen verileri okur.
- Veriler bir Azure Synapse not defterindeki GDAL kitaplığıyla işlenir.
- İşlenen veriler Azure Data Lake Storage depolanır.
- İşlenen veriler Azure Data Lake Storage okunur ve Azure Synapse Özel etkinliği tarafından yapay zeka modelleri Özel Görüntü İşleme nesne algılamaya geçirilir. Özel etkinlik, nesne algılama modelini çalıştırmak için Azure Batch havuzları kullanır.
- Nesne algılama modeli, algılanan nesnelerin ve sınırlayıcı kutuların listesini verir.
- Algılanan nesneler GeoJSON'a dönüştürülür ve Azure Data Lake Storage depolanır.
- GeoJSON verileri Azure Data Lake Storage okunur ve postgreSQL veritabanında depolanır.
- Veriler PostgreSQL veritabanından okunur. ArcGIS Pro, QGIS ve Power BI gibi araçlarda daha fazla görselleştirilebilir.
Azure Synapse Spark havuzuna jeo-uzamsal paketler yükleme
Paket yönetimi özelliğini kullanarak paketleri bir Azure Synapse Spark havuzuna yüklemeniz gerekir. Daha fazla bilgi için bkz. Azure Synapse paket yönetimi.
Azure Synapse üzerinde yer alan veri iş yüklerini desteklemek için GDAL, Rasterio ve GeoPandas gibi kitaplıklara ihtiyacınız vardır. YaML dosyası kullanarak bu kitaplıkları sunucusuz bir Apache Spark havuzuna yükleyebilirsiniz. Anaconda kitaplıkları Spark havuzuna önceden yüklenir.
Önkoşullar
Yönergeler
Aşağıdaki kitaplıklar ve paketler environment.yml dosyasında kullanılabilir. Kitaplıkları Spark havuzlarına yüklemek için bu dosyayı kullanmanızı öneririz. Aşağıdaki içeriği kopyalarsanız, YAML yalnızca girinti olarak boşluklara izin verdiğinden sekme olmadığından emin olun.
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
Not
GDAL, Azure Data Lake Storage için sanal dosya sistemi
/vsiadls/
kullanır. Bu işlev GDAL v3.3.0'dan itibaren kullanılabilir. 3.3.0 veya sonraki bir sürümü kullandığınızdan emin olun.https://web.azuresynapse.net adresine gidin ve çalışma alanınızda oturum açın.
Gezinti bölmesinde Yönet'i ve ardından Apache Spark havuzları'nı seçin.
Spark havuzundaki üç nokta düğmesini (...) seçerek Paketler'i seçin. local dosyasından environment.yml dosyasını karşıya yükleyin ve paket ayarlarını uygulayın.
Yükleme tamamlandığında portalın bildirim bölümü size bildirir. Aşağıdaki adımları uygulayarak yükleme ilerleme durumunu da izleyebilirsiniz:
- İzleyici sekmesinde Spark uygulamaları listesine gidin.
- Havuz güncelleştirmenize karşılık gelen SystemReservedJob-LibraryManagement bağlantısını seçin.
- Sürücü günlüklerini görüntüleyin.
Kitaplıkların doğru sürümlerinin yüklü olduğunu doğrulamak için aşağıdaki kodu çalıştırın. Conda'nın yüklemiş olduğu önceden yüklenmiş kitaplıklar da listelenir.
import pkg_resources for d in pkg_resources.working_set: print(d)
Daha fazla bilgi için bkz. Paketleri yönetme.
Katkıda Bulunanlar
Bu makale Microsoft tarafından güncelleştiriliyor ve korunuyor. Başlangıçta aşağıdaki katkıda bulunanlar tarafından yazılmıştır.
Asıl yazarlar:
- Kungumaraj Nachimuthu | Kıdemli Yazılım Mühendisi
- Karthick Narendran | Kıdemli Yazılım Mühendisi
Ek katkıda bulunanlar:
- Mick Alberts | Teknik Yazar
- Taylor Corbett | Kıdemli Veri Bilimci
- Tushar Dhadiwal | Kıdemli Yazılım Mühendisi
- Mandar Inamdar | Baş Mühendislik Yöneticisi
- Suşil Kumar | Kıdemli Yazılım Mühendisi
- Nikhil Manchanda | Baş Mühendislik Yöneticisi
- Safiyah Sadiq | Yazılım Mühendisi II
- Xiaoyuan Yang | Sorumlu Veri Bilimi Yöneticisi
- Tai Yee | Kıdemli Program Yöneticisi
Sonraki adımlar
- SynapseML kullanarak büyük verilerden jeo-uzamsal içgörüler alma
- Azure Synapse Analytics'i kullanmaya başlama
- Azure Synapse Studio'yu keşfedin
- Bilişsel Hizmetler oluşturma ve kullanma