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

ŞUNLAR IÇIN GEÇERLIDIR: 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. Ücretsiz olarak yeni bir deneme sürümü başlatmayı öğrenin!

Synapse işlem hattındaki Azure Synapse not defteri etkinliği, Azure Synapse çalışma alanınızda 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 defteriniEtkinlikler'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 düğmesine tıklayabilirsiniz.

(İsteğe bağlı) Ayrıca spark havuzu\Yürütücü boyutu\Dinamik olarak yürütücüler\En düşük yürütücüler\Maksimum yürütücüler\Sürücü boyutu ayarlarını yeniden yapılandırabilirsiniz. Burada yeniden yapılandırılan ayarların Not Defteri'ndeki 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.

ekran görüntüsü-gösterme-oluşturma-not defteri-etkinliği

Ö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. No
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ı. No
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. No
En düşük yürütücüler İş için belirtilen Spark havuzunda ayrılacak en az yürütücü sayısı. No
En fazla yürütücü İş için belirtilen Spark havuzunda ayrılacak en fazla yürütücü sayısı. No
Sürücü boyutu İş için belirtilen Apache Spark havuzunda verilen sürücü için kullanılacak çekirdek ve bellek sayısı. No

Not

Azure Synapse işlem hatlarında paralel Spark Not Defterlerinin yürütülmesi FIFO biçiminde kuyruğa alınıp yürütülür, kuyruktaki iş sırası zaman sırasına göredir, bir işin kuyruktaki 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 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ü-gösteren-add-notebook-to-pipeline

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.

ekran görüntüsü-showing-azure-notebook-toggle-parameter

Azure Data Factory parametre hücresini arar ve yürütme zamanında geçirilen parametreler için varsayılan olarak değerleri kullanır. Yürütme altyapısı, varsayılan değerlerin üzerine yazmak için giriş parametreleriyle parametreler 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ğiyle 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ü-showing-assign-a-parameter

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:

  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 deneme, not defteri etkinlik çıkışı 2. adımda aşağıdaki etkinlikler için kullanılabilecek exitValue değerini içerir.

  2. Not defteri etkinlik çıkışından exitValue özelliğini okuyun. Burada, not defteri etkinlik çıkışından getirilen exitValue değerinin "hello world" değerine eşit olup olmadığını denetlemek için kullanılan örnek bir ifade verilmiştir:

    ekran görüntüsü-gösteren-okuma-çıkış-değeri

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şlev çağrılarını iç içe geçirmeyi 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 defterinden %run hücresine tüm hücreleri kopyalar ve değişken bağlamını paylaşır. Notebook1, ve notebook2 aracılığıyla %run notebook2 not defteri2'ye başvurduğunda mssparkutils.notebook.exit işlevi çağırdığında, notebook1 hücre yürütmesi 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. notebook1, ve notebook2 aracılığıyla mssparkutils.notebook.run("notebook2") not defteri2'ye başvurduğunda mssparkutils.notebook.exit işlevi çağırdığında, notebook1 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 not defteri etkinliğini içeren işlem hattını açın.

Açık not defteri 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 etkinliği 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 üzere sonuç alanını denetlemek için çıkışı seçin.

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 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ı parametrized ise, yayımlanmamış durumdaki not defteri sürümüne hata ayıklama çalıştırmalarında başvurulamıyordur.