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

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

تلميح

جرب Data Factory في Microsoft Fabric، وهو حل تحليلي متكامل للمؤسسات. يغطي Microsoft Fabric كل شيء بدءا من حركة البيانات إلى علم البيانات والتحليلات في الوقت الحقيقي والمعلومات المهنية وإعداد التقارير. تعرف على كيفية بدء إصدار تجريبي جديد مجانا!

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

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

إضافة نشاط دفتر ملاحظات لـ Azure Databricks إلى مسار باستخدام واجهة المستخدم

لاستخدام نشاط دفتر ملاحظات لـ Azure Databricks في مسار، أكمل الخطوات التالية:

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

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

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

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

  4. حدد علامة التبويب الإعدادات ثم حدد مسار دفتر الملاحظات الذي سيتم تنفيذه على 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