Aracılığıyla paylaş


Synapse not defterini çalıştırarak verileri dönüştürme

UYGULANIR: 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ı tuvaline bir Synapse not defteri etkinliği ekleyin.

Synapse defterini Etkinlikler altına sürükleyin ve Synapse işlem hattı alanına bırakın. Synapse not defteri etkinlik kutusuna tıklayın ve ayarlarda 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ı) Ayrıca spark havuzu\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\Kimlik doğrulaması ayarlarını 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.

Not Defteri Oluşturma Etkinliğini Gösteren Ekran Görüntüsü

Mülk Açıklama Gerekli
Spark havuzu Spark havuzuna referans. 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
Minimum yürütücüler Belirtilen Spark havuzunda işlem için 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
Kimlik doğrulama Sistem tarafından atanan yönetilen kimliği veya kullanıcı tarafından atanan yönetilen kimliği kullanarak kimlik doğrulaması yapabilir. Hayır

Not

Azure Synapse işlem hatlarında paralel Spark Not Defterlerinin yürütülmesi önce kuyruğa alınır, ardından ilk giren ilk çıkar (FIFO) mantığında yürütülür. Kuyruktaki işlerin sırası zaman sırasına göre dizilir, kuyrukta bekleyen bir işin süresi 3 gündür. Lütfen 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.

ekran görüntüsü-defter eklemenin veriyoluna nasıl ekleneceğini gösteriyor

Parametre aktarımı

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.

Azure not defterinde devre parametresini gösteren ekran görüntüsü

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.

ekran-görüntüsü-gösteren-parametre-atama

İ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 defter hücre çıkış değerini oku

Aşağıdaki adımları izleyerek sonraki etkinliklerde not defteri hücre çıkış değerini okuyabilirsiniz:

  1. 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 tetikleyin, böylece not defteri etkinlik çıktısı, 2. adımda takip eden etkinlikler için kullanılabilecek bir *exitValue* değerini içerecektir.

  2. Not defteri etkinliği çıktısı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:

    çıkış değerini okuma ekran görüntüsü

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 iki yöntem 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ğlantılı not defterindeki tüm hücreleri %run hücresine kopyalar ve değişken kapsamını paylaşır. Not defteri1, %run notebook2 aracılığıyla not defteri2'ye başvurduğunda ve not defteri2 bir mssparkutils.notebook.exit işlevini çağırdığında, not defteri1'deki hücre yürütmesi durdurulacaktır. 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şkenin bağlamı paylaşılmıyor. Notebook1, mssparkutils.notebook.run("notebook2") aracılığıyla notebook2'ye başvurduğunda ve notebook2 bir mssparkutils.notebook.exit işlevini çağırdığında, notebook1'deki hücre yürütmesi 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 notebook 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 etkinlik geçmişini gösteren ekran görüntüsü.

Not defteri anlık görüntüsünü açın:

Açık not defteri anlık görüntüsünü gösteren ekran görüntüsü.

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 çıkışı seçin ve sonuç alanını denetleyin.

Kullanıcı hatası ayrıntılarını gösteren ekran görüntüsü.

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 defteri etkinlik çıktısı

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, yayımlanmamış durumdaki not defteri sürümüne hata ayıklama çalışmaları sırasında başvurulamaz.