تحويل البيانات عن طريق تشغيل دفتر ملاحظات Databricks

ينطبق على: Azure Data Factory Azure Synapse Analytics

تلميح

Data Factory في Microsoft Fabric هو الجيل القادم من Azure Data Factory، مع بنية أبسط، وذكاء اصطناعي مدمج، وميزات جديدة. إذا كنت جديدا في تكامل البيانات، ابدأ مع Fabric Data Factory. يمكن لأعباء عمل ADF الحالية الترقية إلى Fabric للوصول إلى قدرات جديدة في علوم البيانات، والتحليلات اللحظية، والتقارير.

نشاط Azure Databricks لدفتر الملاحظات في pipeline يشغل دفتر Databricks في مساحة العمل Azure Databricks الخاصة بك. تعتمد هذه المقالة على مقالة أنشطة تحويل البيانات، والتي تقدم نظرة عامة على تحويل البيانات وأنشطة التحويل المدعومة. Azure Databricks هو منصة مدارة لتشغيل Apache Spark.

يمكنك إنشاء دفتر ملاحظات Databricks باستخدام قالب ARM باستخدام JSON، أو مباشرة من خلال واجهة مستخدم Azure Data Factory Studio. للحصول على شرح خطوة بخطوة حول كيفية إنشاء نشاط دفتر ملاحظات Databricks باستخدام واجهة المستخدم، راجع الدرس التعليمي تشغيل دفتر Databricks مع نشاط دفتر Databricks في Azure Data Factory.

Add a Notebook activity for Azure Databricks to a pipeline with UI

لاستخدام نشاط Notebook ل Azure Databricks في خط أنابيب، أكمل الخطوات التالية:

  1. ابحث عن دفتر الملاحظات في جزء "الأنشطة" بالبنية الأساسية، واسحب أحد أنشطة "دفتر الملاحظات" إلى لوحة بالبنية الأساسية.

  2. حدد نشاط دفتر الملاحظات الجديد على اللوحة إذا لم يكن محددا بالفعل.

  3. اختر تبويب Azure Databricks لاختيار أو إنشاء خدمة Azure Databricks مرتبطة جديدة ستنفذ نشاط دفتر الملاحظات.

    يعرض واجهة المستخدم لنشاط دفتر الملاحظات.

  4. اختر علامة التبويب Settings وحدد مسار دفتر الملاحظات الذي سيتم تنفيذه على Azure Databricks، والمعلمات الأساسية الاختيارية التي يجب تمريرها إلى دفتر الملاحظات، وأي مكتبات أخرى سيتم تثبيتها على العنقود لتنفيذ المهمة.

    يعرض واجهة المستخدم لعلامة التبويب

تعريف نشاط دفتر ملاحظات Databricks

فيما يلي نموذج تعريف JSON لنشاط دفتر ملاحظات Databricks:

{
    "activity": {
        "name": "MyActivity",
        "description": "MyActivity description",
        "type": "DatabricksNotebook",
        "linkedServiceName": {
            "referenceName": "MyDatabricksLinkedservice",
            "type": "LinkedServiceReference"
        },
        "typeProperties": {
            "notebookPath": "/Users/user@example.com/ScalaExampleNotebook",
            "baseParameters": {
                "inputpath": "input/folder1/",
                "outputpath": "output/"
            },
            "libraries": [
                {
                "jar": "dbfs:/docs/library.jar"
                }
            ]
        }
    }
}

خصائص نشاط دفتر ملاحظات Databricks

يصف الجدول التالي خصائص JSON المستخدمة في تعريف JSON:

الخاصية الوصف مطلوب
الاسم اسم النشاط في التدفق. ‏‏نعم‬
الوصف نص يصف ما يفعله النشاط. لا
النوع يكون نوع النشاط بالنسبة لنشاط دفتر ملاحظات Databricks هو DatabricksNotebook. ‏‏نعم‬
linkedServiceName اسم خدمة Databricks المرتبطة التي يُشغل عليها دفتر ملاحظات Databricks. للتعرف على هذه الخدمة المرتبطة، راجع مقالة خدمات الحوسبة المرتبطة. ‏‏نعم‬
notebookPath المسار المطلق لدفتر الملاحظات ليتم تشغيله في مساحة عمل Databricks. يجب أن يبدأ هذا المسار بشرطة مائلة. ‏‏نعم‬
baseParameters مصفوفة زوج قيم المفاتيح. يمكن استخدام المعلمات الأساسية لكل نشاط يتم تشغيله. إذا كان دفتر الملاحظات يأخذ معلمة غير محددة، استخدام القيمة الافتراضية من دفتر الملاحظات. يمكنك العثور على المزيد حول المعلمات في دفاتر ملاحظات Databricks. لا
المصادقة قائمة بالمكتبات التي سيتم تثبيتها على نظام المجموعة الذي سيقوم بتنفيذ المهمة. يمكن أن تكون مصفوفة من سلسلة <، وعنصر>. لا

المكتبات المدعومة لأنشطة Databricks

في تعريف نشاط Databricks أعلاه، يمكنك تحديد أنواع هذه المكتبات: jar، وegg، وwhl، وmaven، وpypi، وcran.

{
    "libraries": [
        {
            "jar": "dbfs:/mnt/libraries/library.jar"
        },
        {
            "egg": "dbfs:/mnt/libraries/library.egg"
        },
        {
            "whl": "dbfs:/mnt/libraries/mlflow-0.0.1.dev0-py2-none-any.whl"
        },
        {
            "whl": "dbfs:/mnt/libraries/wheel-libraries.wheelhouse.zip"
        },
        {
            "maven": {
                "coordinates": "org.jsoup:jsoup:1.7.2",
                "exclusions": [ "slf4j:slf4j" ]
            }
        },
        {
            "pypi": {
                "package": "simplejson",
                "repo": "http://my-pypi-mirror.com"
            }
        },
        {
            "cran": {
                "package": "ada",
                "repo": "https://cran.us.r-project.org"
            }
        }
    ]
}

لمزيد من التفاصيل، راجع وثائق Databricks لأنواع المكتبات.

تمرير المعلمات بين دفاتر الملاحظات والتدفقات

يمكنك تمرير المعلمات إلى دفاتر الملاحظات باستخدام خاصية baseParameters في نشاط databricks.

في حالات معينة، قد تحتاج إلى إعادة تمرير قيم معينة من دفتر الملاحظات إلى الخدمة، حتى يمكن استخدامها لأغراض سير عمل التحكم (الفحوصات المشروطة) في الخدمة أو تستهلكها أنشطة انتقال البيانات من الخادم (الحد الأقصى للحجم 2 ميجابايت).

  1. في دفتر الملاحظات، يمكنك استدعاء dbutils.notebook.exit("returnValue") وسيتم إرجاع "returnValue" المقابل إلى الخدمة.

  2. يمكنك استهلاك الإخراج في الخدمة باستخدام تعبير مثل @{activity('databricks notebook activity name').output.runOutput}.

    هام

    إذا كنت تمرر كائن JSON، يمكنك استرداد القيم عن طريق إلحاق أسماء الخصائص. مثال: @{activity('databricks notebook activity name').output.runOutput.PropertyName}

كيفية تحميل مكتبة في Databricks

يمكنك استخدام واجهة مستخدم مساحة العمل:

  1. استخدام واجهة مستخدم مساحة عمل Databricks

  2. يمكنك استخدام Databricks CLI لحصول على مسار dbfs من المكتبة المضافة باستخدام واجهة المستخدم.

    عادةً ما يتم تخزين مكتبات Jar في الدليل dbfs:/FileStore/jars أثناء استخدام واجهة المستخدم. يمكنك سردها بالكامل من خلال CLI: databricks fs ls dbfs:/FileStore/job-jars

أو يمكنك استخدام Databricks CLI:

  1. اتبع نسخ المكتبة باستخدام Databricks CLI

  2. استخدام Databricks CLI (خطوات التثبيت)

    على سبيل المثال، لنسخ JAR إلى dbfs: dbfs cp SparkPi-assembly-0.1.jar dbfs:/docs/sparkpi.jar