Synapse not defterini çalıştırarak verileri dönüştürme
UYGULANANLAR: Azure Data Factory Azure Synapse Analytics
İpucu
Kuruluşlar için hepsi bir arada analiz çözümü olan Microsoft Fabric'te Data Factory'yi deneyin. Microsoft Fabric , veri taşımadan veri bilimine, gerçek zamanlı analize, iş zekasına ve raporlamaya kadar her şeyi kapsar. Yeni bir deneme sürümünü ücretsiz olarak başlatmayı öğrenin!
Synapse işlem hattındaki Azure Synapse not defteri etkinliği bir Synapse not defteri çalıştırır. Bu makale , veri dönüştürme ve desteklenen dönüştürme etkinliklerine genel bir genel bakış sunan veri dönüştürme etkinlikleri makalesini oluşturur.
Synapse not defteri etkinliği oluşturma
Synapse not defteri etkinliğini doğrudan Synapse işlem hattı tuvalinden veya not defteri düzenleyicisinden oluşturabilirsiniz. Synapse not defteri etkinliği, Synapse not defterinde seçilen Spark havuzunda çalışır.
İşlem hattı tuvalinden Synapse not defteri etkinliği ekleme
Synapse not defterini Etkinlikler'in altına sürükleyip Synapse işlem hattı tuvaline bırakın. Synapse not defteri etkinlik kutusunu seçin ve ayarlardaki geçerli etkinlik için not defteri içeriğini yapılandırın. Geçerli çalışma alanından mevcut bir not defterini seçebilir veya yeni bir not defteri ekleyebilirsiniz.
Geçerli çalışma alanından mevcut bir not defterini seçerseniz, doğrudan not defterinin sayfasını açmak için Aç düğmesine tıklayabilirsiniz.
(İsteğe bağlı) Spark havuzunu\Yürütücü boyutu\Dinamik olarak yürütücüleri ayır\En düşük yürütücüler\En fazla yürütücü\Sürücü boyutu ayarlarını da yeniden yapılandırabilirsiniz. Burada yeniden yapılandırılan ayarların Not Defteri'nde yapılandırma oturumunun ayarlarını değiştireceği belirtilmelidir. Geçerli not defteri etkinliğinin ayarlarında hiçbir şey ayarlanmadıysa, bu not defterindeki yapılandırma oturumunun ayarlarıyla çalışır.
Özellik | Açıklama | Gerekli |
---|---|---|
Spark havuzu | Spark havuzuna başvuru. Listeden Apache Spark havuzunu seçebilirsiniz. Bu ayar boşsa, not defterinin spark havuzunda çalışır. | Hayır |
Yürütücü boyutu | Oturum için belirtilen Apache Spark havuzunda ayrılan yürütücüler için kullanılacak çekirdek ve bellek sayısı. | Hayır |
Yürütücüleri dinamik olarak ayırma | Bu ayar, Spark Uygulaması yürütücüleri ayırması için Spark yapılandırmasındaki dinamik ayırma özelliğine eşler. | Hayır |
En düşük yürütücüler | İş için belirtilen Spark havuzunda ayrılacak en az yürütücü sayısı. | Hayır |
En fazla yürütücü | İş için belirtilen Spark havuzunda ayrılacak en fazla yürütücü sayısı. | Hayır |
Sürücü boyutu | İş için belirtilen Apache Spark havuzunda verilen sürücü için kullanılacak çekirdek ve bellek sayısı. | Hayır |
Not
Azure Synapse işlem hatlarında paralel Spark Not Defterlerinin yürütülmesi bir FIFO biçiminde kuyruğa alınır ve yürütülür, kuyruktaki iş sırası zaman sırasına göredir, kuyruktaki bir işin süresi 3 gündür, not defteri kuyruğunun yalnızca synapse işlem hattında çalıştığına dikkat edin.
Synapse işlem hattına not defteri ekleme
Mevcut bir işlem hattına not defteri eklemek veya yeni bir işlem hattı oluşturmak için sağ üst köşedeki İşlem hattına ekle düğmesini seçin.
Parametreleri geçirme
Parametre hücresi belirleme
Not defterinizi parametreleştirmek için hücre araç çubuğundaki diğer komutlara erişmek için üç noktayı (...) seçin. Ardından Parametre hücresini değiştir'i seçerek hücreyi parametre hücresi olarak belirleyin.
Bu hücrede parametrelerinizi tanımlayın. Şu kadar basit bir şey olabilir:
a = 1
b = 3
c = "Default Value"
Bu parametrelere diğer hücrelerde başvurabilir ve not defterini çalıştırdığınızda parametre hücresinde belirttiğiniz varsayılan değerleri kullanabilirsiniz.
Bu not defterini bir işlem hattından çalıştırdığınızda, Azure Data Factory parametreler hücresini arar ve yürütme sırasında geçirilen parametreler için varsayılan olarak sağladığınız değerleri kullanır. İşlem hattından parametre değerleri atarsanız, yürütme altyapısı varsayılan değerlerin üzerine yazmak için giriş parametreleriyle parametre hücresinin altına yeni bir hücre ekler.
İşlem hattından parametre değerleri atama
Parametreleri olan bir not defteri oluşturduktan sonra, Synapse not defteri etkinliğine sahip bir işlem hattından yürütebilirsiniz. etkinliği işlem hattı tuvalinize ekledikten sonra, Ayarlar sekmesindeki Temel parametreler bölümünde parametre değerlerini ayarlayabilirsiniz.
İpucu
Data Factory parametreleri otomatik olarak doldurmaz. Bunları el ile eklemeniz gerekir. Hem not defterindeki parametreler hücrenizde hem de işlem hattındaki temel parametrede tam olarak aynı adı kullandığınızdan emin olun.
Parametrelerinizi etkinliğinize ekledikten sonra Data Factory etkinliğinizde belirttiğiniz değerleri not defterinize geçirir ve not defteriniz parametreler hücresinde belirttiğiniz varsayılan değerler yerine bu yeni parametre değerleriyle çalışır.
Parametre değerleri atarken işlem hattı ifade dilini veya sistem değişkenlerini kullanabilirsiniz.
Synapse not defteri hücre çıkış değerini okuma
Aşağıdaki adımları izleyerek sonraki etkinliklerde not defteri hücre çıkış değerini okuyabilirsiniz:
Etkinlik çıkışında göstermek istediğiniz değeri döndürmek için Synapse not defteri etkinliğinizde mssparkutils.notebook.exit API'sini çağırın, örneğin:
mssparkutils.notebook.exit("hello world")
Not defteri içeriğini kaydedip işlem hattını yeniden deneme, not defteri etkinlik çıkışı 2. adımda aşağıdaki etkinlikler için kullanılabilecek exitValue değerini içerir.
Not defteri etkinlik çıkışından exitValue özelliğini okuyun. Not defteri etkinlik çıkışından getirilen exitValue değerinin "hello world" değerine eşit olup olmadığını denetlemek için kullanılan örnek ifade aşağıda verilmiştir:
Başka bir Synapse not defteri çalıştırma
Synapse not defteri etkinliğindeki diğer not defterlerine başvurmak için %run magic veya mssparkutils not defteri yardımcı programlarını çağırabilirsiniz. her ikisi de iç içe işlev çağrılarını destekler. Senaryonuza göre göz önünde bulundurmanız gereken bu iki yöntemin temel farklılıkları şunlardır:
- %run magic , başvuruda bulunan not defterindeki tüm hücreleri %run hücresine kopyalar ve değişken bağlamını paylaşır. Not defteri1 ile not defteri2'ye
%run notebook2
başvurduğunda ve notebook2 bir mssparkutils.notebook.exit işlevini çağırdığında, not defteri1'deki hücre yürütme durdurulur. Not defteri dosyasını "eklemek" istediğinizde %run magic kullanmanızı öneririz. - mssparkutils not defteri yardımcı programları , başvuruda bulunan not defterini bir yöntem veya işlev olarak çağırır. Değişken bağlamı paylaşılmıyor. Not defteri1 aracılığıyla not defteri2'ye
mssparkutils.notebook.run("notebook2")
başvurduğunda ve notebook2 bir mssparkutils.notebook.exit işlevini çağırdığında, not defteri1'deki hücre yürütme devam eder. Not defterini "içeri aktarmak" istediğinizde mssparkutils not defteri yardımcı programlarını kullanmanızı öneririz.
Not defteri etkinliği çalıştırma geçmişine bakın
İzleyici sekmesinin altındaki İşlem hattı çalıştırmaları'na gidin, tetiklediğiniz işlem hattını görürsünüz. Çalıştırma geçmişini görmek için not defteri etkinliğini içeren işlem hattını açın.
Not defterini aç düğmesini seçerek hem hücre girişi hem de çıkışı dahil olmak üzere en son not defteri çalıştırma anlık görüntüsünü görebilirsiniz.
Not defteri anlık görüntüsünü açın:
Giriş veya Çıkış düğmesini seçerek not defteri etkinlik girişini veya çıkışını görebilirsiniz. İşlem hattınız bir kullanıcı hatasıyla başarısız olduysa, ayrıntılı kullanıcı hatası izlemesini görmek için sonuç alanını denetlemek için çıkışı seçin.
Synapse not defteri etkinlik tanımı
Synapse not defteri etkinliğinin örnek JSON tanımı aşağıda verilmiştir:
{
"name": "parameter_test",
"type": "SynapseNotebook",
"dependsOn": [],
"policy": {
"timeout": "7.00:00:00",
"retry": 0,
"retryIntervalInSeconds": 30,
"secureOutput": false,
"secureInput": false
},
"userProperties": [],
"typeProperties": {
"notebook": {
"referenceName": "parameter_test",
"type": "NotebookReference"
},
"parameters": {
"input": {
"value": {
"value": "@pipeline().parameters.input",
"type": "Expression"
}
}
}
}
}
Synapse not defteri etkinlik çıkışı
Synapse not defteri etkinlik çıkışının örnek JSON'u aşağıda verilmiştir:
{
{
"status": {
"Status": 1,
"Output": {
"status": <livySessionInfo>
},
"result": {
"runId": "<GUID>",
"runStatus": "Succeed",
"message": "Notebook execution is in Succeeded state",
"lastCheckedOn": "2021-03-23T00:40:10.6033333Z",
"errors": {
"ename": "",
"evalue": ""
},
"sessionId": 4,
"sparkpool": "sparkpool",
"snapshotUrl": "https://myworkspace.dev.azuresynapse.net/notebooksnapshot/{guid}",
"exitCode": "abc" // return value from user notebook via mssparkutils.notebook.exit("abc")
}
},
"Error": null,
"ExecutionDetails": {}
},
"effectiveIntegrationRuntime": "DefaultIntegrationRuntime (West US 2)",
"executionDuration": 234,
"durationInQueue": {
"integrationRuntimeQueue": 0
},
"billingReference": {
"activityType": "ExternalActivity",
"billableDuration": [
{
"meterType": "AzureIR",
"duration": 0.06666666666666667,
"unit": "Hours"
}
]
}
}
Bilinen sorunlar
İşlem Hattı Not Defteri etkinliğinde not defteri adı parametreliyse, hata ayıklama çalıştırmalarında yayımlanmamış durumdaki not defteri sürümüne başvurulamazsınız.