اقرأ باللغة الإنجليزية

مشاركة عبر


RStudio على Azure Databricks

يمكنك استخدام RStudio، وهي بيئة تطوير متكاملة شائعة (IDE) ل R، للاتصال بموارد حساب Azure Databricks داخل مساحات عمل Azure Databricks. استخدم RStudio Desktop للاتصال بمجموعة Azure Databricks أو مستودع SQL من جهاز التطوير المحلي. يمكنك أيضا استخدام مستعرض الويب لتسجيل الدخول إلى مساحة عمل Azure Databricks ثم الاتصال بمجموعة Azure Databricks التي تم تثبيت RStudio Server عليها، داخل مساحة العمل هذه.

الاتصال باستخدام RStudio Desktop

استخدم RStudio Desktop للاتصال بمجموعة Azure Databricks البعيدة أو مستودع SQL من جهاز التطوير المحلي. للاتصال في هذا السيناريو، استخدم اتصال ODBC واستدعاء دالات حزمة ODBC ل R، الموضحة في هذا القسم.

ملاحظة

لا يمكنك استخدام حزم مثل SparkR أو sparklyr في سيناريو سطح المكتب RStudio هذا، إلا إذا كنت تستخدم أيضا Databricks Connect. كبديل لاستخدام RStudio Desktop، يمكنك استخدام مستعرض الويب لتسجيل الدخول إلى مساحة عمل Azure Databricks ثم الاتصال بمجموعة Azure Databricks التي تم تثبيت RStudio Server عليها في مساحة العمل هذه.

لإعداد RStudio Desktop على جهاز التطوير المحلي:

  1. قم بتنزيل وتثبيت R 3.3.0 أو أعلى.
  2. قم بتنزيل RStudio Desktop وتثبيته.
  3. ابدأ تشغيل RStudio Desktop.

(اختياري) لإنشاء مشروع RStudio:

  1. ابدأ تشغيل RStudio Desktop.
  2. انقر فوق ملف > مشروع جديد.
  3. حدد New Directory > New Project.
  4. اختر دليلا جديدا للمشروع، ثم انقر فوق إنشاء مشروع.

لإنشاء برنامج نصي R:

  1. مع فتح المشروع، انقر فوق File > New File > R Script.
  2. انقر فوق حفظ الملف > باسم.
  3. قم بتسمية الملف، ثم انقر فوق حفظ.

للاتصال بمجموعة Azure Databricks البعيدة أو مستودع SQL من خلال ODBC ل R:

  1. احصل على قيم اسم مضيف الخادم والمنفذ ومسار HTTP لنظام المجموعة البعيدة أو مستودع SQL. بالنسبة إلى نظام مجموعة، توجد هذه القيم على علامة التبويب JDBC/ODBC من الخيارات المتقدمة. بالنسبة لمستودع SQL، توجد هذه القيم في علامة التبويب تفاصيل الاتصال.

  2. احصل على رمز مميز للوصول الشخصي ل Azure Databricks.

    ملاحظة

    كأفضل ممارسة أمان، عند المصادقة باستخدام الأدوات والأنظمة والبرامج النصية والتطبيقات التلقائية، توصي Databricks باستخدام رموز الوصول الشخصية التي تنتمي إلى كيانات الخدمة بدلا من مستخدمي مساحة العمل. لإنشاء رموز مميزة لكيانات الخدمة، راجع إدارة الرموز المميزة لكيان الخدمة.

  3. قم بتثبيت وتكوين برنامج تشغيل Databricks ODBC لنظام التشغيل Windows أو macOS أو Linux، استنادا إلى نظام تشغيل الجهاز المحلي.

  4. قم بإعداد اسم مصدر بيانات ODBC (DSN) إلى نظام المجموعة البعيد أو مستودع SQL لنظام التشغيل Windows أو macOS أو Linux، استنادا إلى نظام تشغيل الجهاز المحلي.

  5. من وحدة تحكم RStudio (عرض > نقل التركيز إلى وحدة التحكم)، قم بتثبيت حزم odbc وDBI من CRAN:

    require(devtools)
    
    install_version(
      package = "odbc",
      repos   = "http://cran.us.r-project.org"
    )
    
    install_version(
      package = "DBI",
      repos   = "http://cran.us.r-project.org"
    )
    
  6. مرة أخرى في البرنامج النصي R (عرض نقل التركيز إلى المصدر)، قم بتحميل الحزم والحزم المثبتة odbc DBI:>

    library(odbc)
    library(DBI)
    
  7. استدعاء إصدار ODBC من الدالة dbConnect في DBI الحزمة، مع تحديد odbc برنامج التشغيل في odbc الحزمة بالإضافة إلى ODBC DSN الذي قمت بإنشائه، على سبيل المثال، ODBC DSN ل Databricks.

    conn = dbConnect(
      drv = odbc(),
      dsn = "Databricks"
    )
    
  8. استدعاء عملية من خلال ODBC DSN، على سبيل المثال SELECT عبارة من خلال الدالة dbGetQuery في DBI الحزمة، مع تحديد اسم متغير الاتصال والعدولة SELECT نفسها، على سبيل المثال من جدول يسمى diamonds في مخطط (قاعدة بيانات) يسمى default:

    print(dbGetQuery(conn, "SELECT * FROM default.diamonds LIMIT 2"))
    

البرنامج النصي R الكامل كما يلي:

library(odbc)
library(DBI)

conn = dbConnect(
  drv = odbc(),
  dsn = "Databricks"
)

print(dbGetQuery(conn, "SELECT * FROM default.diamonds LIMIT 2"))

لتشغيل البرنامج النصي، في طريقة عرض المصدر، انقر فوق المصدر. نتائج البرنامج النصي R السابق كما يلي:

  _c0 carat     cut color clarity depth table price    x    y    z
1   1  0.23   Ideal     E     SI2  61.5    55   326 3.95 3.98 2.43
2   2  0.21 Premium     E     SI1  59.8    61   326 3.89 3.84 2.31

الاتصال بخادم RStudio المستضاف على Databricks

هام

تم إهمال خادم RStudio المستضاف على Databricks وهو متاح فقط على إصدارات وقت تشغيل Databricks 15.4 والإصدارات أدناه. لمزيد من المعلومات، راجع إيقاف خادم RStudio المستضاف.

استخدم مستعرض الويب لتسجيل الدخول إلى مساحة عمل Azure Databricks ثم اتصل بحساب Azure Databricks الذي تم تثبيت RStudio Server عليه في مساحة العمل هذه.

لمزيد من المعلومات، راجع الاتصال بخادم RStudio المستضاف على Databricks

بنية تكامل RStudio

عند استخدام RStudio Server على Azure Databricks، يتم تشغيل RStudio Server Daemon على عقدة برنامج التشغيل لمجموعة Azure Databricks. يتم إنشاء واجهة مستخدم ويب RStudio من خلال تطبيق ويب Azure Databricks، مما يعني أنك لا تحتاج إلى إجراء أي تغييرات على تكوين شبكة نظام المجموعة. يوضح هذا الرسم التخطيطي بنية مكون تكامل RStudio.

بنية RStudio على Databricks

تحذير

يقوم Azure Databricks بوكلاء خدمة ويب RStudio من المنفذ 8787 على برنامج تشغيل Spark لنظام المجموعة. وكيل ويب هذا مخصص للاستخدام فقط مع RStudio. إذا قمت بتشغيل خدمات ويب أخرى على المنفذ 8787، فقد تعرض المستخدمين إلى عمليات استغلال أمنية محتملة. لا تتحمل Databricks ولا Microsoft مسؤولية أي مشكلات تنتج عن تثبيت برامج غير مدعومة على نظام مجموعة.

المتطلبات

  • يجب أن تكون المجموعة مجموعة متعددة الأغراض.

  • يجب أن يكون لديك إذن CAN ATTACH TO لهذه المجموعة. يمكن لمسؤول نظام المجموعة منحك هذا الإذن. راجع حساب الأذونات.

  • يجب ألا يكون لدى نظام المجموعة التحكم في الوصول إلى الجدول أو الإنهاء التلقائي أو تمرير بيانات الاعتماد ممكن.

  • يجب ألا تستخدم المجموعة وضع الوصول المشترك.

  • يجب ألا يحتوي نظام المجموعة على تكوين spark.databricks.pyspark.enableProcessIsolation Spark معين إلى true.

  • يجب أن يكون لديك ترخيص RStudio Server Floating Pro لاستخدام إصدار Pro.

ملاحظة

على الرغم من أن نظام المجموعة يمكنه استخدام وضع وصول يدعم كتالوج Unity، لا يمكنك استخدام RStudio Server من نظام المجموعة هذا للوصول إلى البيانات في كتالوج Unity.

بدء الاستخدام: RStudio Server OS Edition

يتم تثبيت RStudio Server Open Source Edition مسبقا على مجموعات Azure Databricks التي تستخدم وقت تشغيل Databricks التعلم الآلي (Databricks Runtime ML).

لفتح RStudio Server OS Edition على نظام مجموعة، قم بما يلي:

  1. افتح صفحة تفاصيل نظام المجموعة.

  2. ابدأ المجموعة، ثم انقر فوق علامة التبويب التطبيقات :

    علامة التبويب

  3. على علامة التبويب التطبيقات ، انقر فوق الزر إعداد RStudio . يؤدي ذلك إلى إنشاء كلمة مرور لمرة واحدة لك. انقر فوق ارتباط العرض لعرضه ونسخ كلمة المرور.

    كلمة مرور RStudio لمرة واحدة

  4. انقر فوق الارتباط Open RStudio لفتح واجهة المستخدم في علامة تبويب جديدة. أدخل اسم المستخدم وكلمة المرور في نموذج تسجيل الدخول وسجل الدخول.

    نموذج تسجيل الدخول إلى RStudio

  5. من واجهة مستخدم RStudio، يمكنك استيراد الحزمة SparkR وإعداد SparkR جلسة عمل لتشغيل مهام Spark على نظام المجموعة.

    library(SparkR)
    
    sparkR.session()
    
    # Query the first two rows of a table named "diamonds" in a
    # schema (database) named "default" and display the query result.
    df <- SparkR::sql("SELECT * FROM default.diamonds LIMIT 2")
    showDF(df)
    

    جلسة عمل RStudio Open Source Edition

  6. يمكنك أيضا إرفاق حزمة sparklyr وإعداد اتصال Spark.

    library(sparklyr)
    
    sc <- spark_connect(method = "databricks")
    
    # Query a table named "diamonds" and display the first two rows.
    df <- spark_read_table(sc = sc, name = "diamonds")
    print(x = df, n = 2)
    

    اتصال sparklyr ل RStudio Open Source Edition

بدء الاستخدام: RStudio Workbench

يوضح لك هذا القسم كيفية إعداد وبدء استخدام RStudio Workbench (المعروف سابقا ب RStudio Server Pro) على مجموعة Azure Databricks. اعتمادا على الترخيص الخاص بك، قد يتضمن RStudio Workbench RStudio Server Pro.

إعداد خادم ترخيص RStudio

لاستخدام RStudio Workbench على Azure Databricks، تحتاج إلى تحويل ترخيص Pro الخاص بك إلى ترخيص عائم. للحصول على المساعدة، اتصل ب help@rstudio.com. عند تحويل الترخيص الخاص بك، يجب عليك إعداد خادم ترخيص ل RStudio Workbench.

لإعداد خادم ترخيص:

  1. تشغيل مثيل صغير على شبكة موفر السحابة؛ البرنامج الخفي لخادم الترخيص خفيف الوزن جدا.
  2. قم بتنزيل الإصدار المقابل من RStudio License Server وتثبيته على المثيل الخاص بك، وابدأ تشغيل الخدمة. للحصول على إرشادات مفصلة، راجع دليل مسؤول RStudio Workbench.
  3. تأكد من أن منفذ خادم الترخيص مفتوح لمثيلات Azure Databricks.

تثبيت RStudio Workbench

لإعداد RStudio Workbench على مجموعة Azure Databricks، يجب إنشاء برنامج نصي init لتثبيت حزمة RStudio Workbench الثنائية وتكوينها لاستخدام خادم الترخيص الخاص بك لاستئجار الترخيص.

ملاحظة

إذا كنت تخطط لتثبيت RStudio Workbench على إصدار Databricks Runtime الذي يتضمن بالفعل حزمة RStudio Server Open Source Edition، تحتاج أولا إلى إلغاء تثبيت هذه الحزمة حتى ينجح التثبيت.

فيما يلي مثال .sh على ملف يمكنك تخزينه كبرنامج نصي init في موقع مثل في الدليل الرئيسي كملف مساحة عمل أو في وحدة تخزين كتالوج Unity أو في تخزين الكائن. لمزيد من المعلومات، راجع نصوص برمجية حسب المجموعة العنقودية. ينفذ البرنامج النصي أيضا تكوينات مصادقة إضافية تبسط التكامل مع Azure Databricks.

تحذير

البرامج النصية init ذات نطاق نظام المجموعة على DBFS هي نهاية العمر الافتراضي. تخزين البرامج النصية للتعيين في DBFS موجود في بعض مساحات العمل لدعم أحمال العمل القديمة ولا يوصى به. يجب ترحيل جميع البرامج النصية init المخزنة في DBFS. للحصول على إرشادات الترحيل، راجع ترحيل البرامج النصية init من DBFS.

#!/bin/bash

set -euxo pipefail

if [[ $DB_IS_DRIVER = "TRUE" ]]; then
  sudo apt-get update
  sudo dpkg --purge rstudio-server # in case open source version is installed.
  sudo apt-get install -y gdebi-core alien

  ## Installing RStudio Workbench
  cd /tmp

  # You can find new releases at https://rstudio.com/products/rstudio/download-commercial/debian-ubuntu/.
  wget https://download2.rstudio.org/server/bionic/amd64/rstudio-workbench-2022.02.1-461.pro1-amd64.deb -O rstudio-workbench.deb
  sudo gdebi -n rstudio-workbench.deb

  ## Configuring authentication
  sudo echo 'auth-proxy=1' >> /etc/rstudio/rserver.conf
  sudo echo 'auth-proxy-user-header-rewrite=^(.*)$ $1' >> /etc/rstudio/rserver.conf
  sudo echo 'auth-proxy-sign-in-url=<domain>/login.html' >> /etc/rstudio/rserver.conf
  sudo echo 'admin-enabled=1' >> /etc/rstudio/rserver.conf
  sudo echo 'export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin' >> /etc/rstudio/rsession-profile

  # Enabling floating license
  sudo echo 'server-license-type=remote' >> /etc/rstudio/rserver.conf

  # Session configurations
  sudo echo 'session-rprofile-on-resume-default=1' >> /etc/rstudio/rsession.conf
  sudo echo 'allow-terminal-websockets=0' >> /etc/rstudio/rsession.conf

  sudo rstudio-server license-manager license-server <license-server-url>
  sudo rstudio-server restart || true
fi
  1. استبدل <domain> بعنوان URL Azure Databricks الخاص بك و <license-server-url> بعنوان URL لخادم الترخيص العائم.
  2. قم بتخزين هذا .sh الملف كبرنامج نصي init في موقع مثل في الدليل الرئيسي كملف مساحة عمل أو في وحدة تخزين كتالوج Unity أو في تخزين الكائن. لمزيد من المعلومات، راجع نصوص برمجية حسب المجموعة العنقودية.
  3. قبل بدء تشغيل نظام مجموعة، أضف هذا .sh الملف كبرنامج نصي init من الموقع المقترن. للحصول على إرشادات، راجع البرامج النصية للتثبيت في نطاق نظام المجموعة.
  4. قم بتشغيل نظام المجموعة.

استخدام RStudio Server Pro

  1. افتح صفحة تفاصيل نظام المجموعة.

  2. ابدأ المجموعة، وانقر فوق علامة التبويب التطبيقات :

    علامة التبويب

  3. على علامة التبويب التطبيقات ، انقر فوق الزر إعداد RStudio .

    كلمة مرور RStudio لمرة واحدة

  4. لا تحتاج إلى كلمة المرور لمرة واحدة. انقر فوق الارتباط Open RStudio UI وسيفتح جلسة RStudio Pro مصادق عليها لك.

  5. من واجهة مستخدم RStudio، يمكنك إرفاق SparkR الحزمة وإعداد SparkR جلسة عمل لتشغيل مهام Spark على نظام المجموعة.

    library(SparkR)
    
    sparkR.session()
    
    # Query the first two rows of a table named "diamonds" in a
    # schema (database) named "default" and display the query result.
    df <- SparkR::sql("SELECT * FROM default.diamonds LIMIT 2")
    showDF(df)
    

    جلسة RStudio Pro

  6. يمكنك أيضا إرفاق حزمة sparklyr وإعداد اتصال Spark.

    library(sparklyr)
    
    sc <- spark_connect(method = "databricks")
    
    # Query a table named "diamonds" and display the first two rows.
    df <- spark_read_table(sc = sc, name = "diamonds")
    print(x = df, n = 2)
    

    اتصال RStudio Pro sparklyr

الأسئلة المتداولة حول RStudio Server

ما الفرق بين RStudio Server Open Source Edition وRStudio Workbench؟

يدعم RStudio Workbench مجموعة واسعة من ميزات المؤسسة غير المتوفرة في إصدار المصدر المفتوح. يمكنك مشاهدة مقارنة الميزات على موقع RStudio على الويب.

بالإضافة إلى ذلك، يتم توزيع RStudio Server Open Source Edition بموجب الترخيص العام العام ل GNU Affero (AGPL)، بينما يأتي إصدار Pro مع ترخيص تجاري للمؤسسات غير القادرة على استخدام برامج AGPL.

وأخيرا، يأتي RStudio Workbench مزودا بدعم احترافي ومؤسسي من RStudio، PBC، بينما لا يأتي RStudio Server Open Source Edition مع أي دعم.

هل يمكنني استخدام ترخيص RStudio Workbench / RStudio Server Pro على Azure Databricks؟

نعم، إذا كان لديك بالفعل ترخيص Pro أو Enterprise ل RStudio Server، يمكنك استخدام هذا الترخيص على Azure Databricks. راجع بدء الاستخدام: RStudio Workbench لمعرفة كيفية إعداد RStudio Workbench على Azure Databricks.

أين يتم تشغيل RStudio Server؟ هل أحتاج إلى إدارة أي خدمات/خوادم إضافية؟

كما ترى على الرسم التخطيطي في بنية تكامل RStudio، يعمل البرنامج الخفي RStudio Server على عقدة برنامج التشغيل (الرئيسي) لنظام مجموعة Azure Databricks. باستخدام RStudio Server Open Source Edition، لا تحتاج إلى تشغيل أي خوادم/خدمات إضافية. ومع ذلك، بالنسبة إلى RStudio Workbench، يجب إدارة مثيل منفصل يقوم بتشغيل RStudio License Server.

هل يمكنني استخدام RStudio Server على نظام مجموعة قياسي؟

ملاحظة

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

نعم، يمكنك.

هل يمكنني استخدام RStudio Server على نظام مجموعة مع الإنهاء التلقائي؟

لا، لا يمكنك استخدام RStudio عند تمكين الإنهاء التلقائي. يمكن للإنهاء التلقائي إزالة البرامج النصية والبيانات للمستخدم غير المحفدسة داخل جلسة RStudio. لحماية المستخدمين من سيناريو فقدان البيانات غير المقصود هذا، يتم تعطيل RStudio على مثل هذه المجموعات بشكل افتراضي.

بالنسبة للعملاء الذين يحتاجون إلى تنظيف موارد نظام المجموعة عندما لا يتم استخدامها، توصي Databricks باستخدام واجهات برمجة تطبيقات نظام المجموعة لتنظيف مجموعات RStudio استنادا إلى جدول زمني.

كيف يجب أن أستمر في عملي على RStudio؟

نوصي بشدة بالاحتفاظ بعملك باستخدام نظام التحكم بالإصدار من RStudio. يتمتع RStudio بدعم كبير لأنظمة التحكم في الإصدار المختلفة ويسمح لك بالتحقق من مشاريعك وإدارتها. إذا لم تقم بالاحتفاظ بالتعليمات البرمجية الخاصة بك من خلال إحدى الطرق التالية، فإنك تخاطر بفقدان عملك إذا قام مسؤول مساحة العمل بإعادة تشغيل نظام المجموعة أو إنهائه.

إحدى الطرق هي حفظ ملفاتك (التعليمات البرمجية أو البيانات) على ما هو DBFS؟. على سبيل المثال، إذا قمت بحفظ ملف ضمن /dbfs/ الملفات، فلن يتم حذفه عند إنهاء نظام المجموعة أو إعادة تشغيله.

طريقة أخرى هي حفظ دفتر ملاحظات R إلى نظام الملفات المحلي الخاص بك عن طريق تصديره ك Rmarkdown، ثم استيراد الملف لاحقا إلى مثيل RStudio. تصف المدونة مشاركة دفاتر ملاحظات R باستخدام RMarkdown الخطوات بمزيد من التفصيل.

كيف أعمل بدء SparkR جلسة عمل؟

SparkR مضمن في Databricks Runtime، ولكن يجب تحميله في RStudio. قم بتشغيل التعليمات البرمجية التالية داخل RStudio لتهيئة جلسة عمل SparkR .

library(SparkR)

sparkR.session()

إذا كان هناك خطأ في استيراد الحزمة SparkR ، فقم بتشغيل .libPaths() وتحقق من تضمينه /home/ubuntu/databricks/spark/R/lib في النتيجة.

إذا لم يتم تضمينه، فتحقق من /usr/lib/R/etc/Rprofile.siteمحتوى . قم بإدراج /home/ubuntu/databricks/spark/R/lib/SparkR برنامج التشغيل للتحقق من تثبيت الحزمة SparkR .

كيف أعمل بدء sparklyr جلسة عمل؟

sparklyr يجب تثبيت الحزمة على نظام المجموعة. استخدم إحدى الطرق التالية لتثبيت الحزمة sparklyr :

  • كمكتبة Azure Databricks
  • أمر install.packages()
  • واجهة مستخدم إدارة حزمة RStudio
library(sparklyr)

sc <- spark_connect(method = “databricks”)

كيف يتكامل RStudio مع دفاتر ملاحظات Azure Databricks R؟

يمكنك نقل عملك بين دفاتر الملاحظات وRStudio من خلال التحكم في الإصدار.

ما هو دليل العمل؟

عند بدء مشروع في RStudio، يمكنك اختيار دليل عمل. بشكل افتراضي، هذا هو الدليل الرئيسي على حاوية برنامج التشغيل (الرئيسي) حيث يتم تشغيل RStudio Server. يمكنك تغيير هذا الدليل إذا أردت.

هل يمكنني تشغيل تطبيقات لامعة من RStudio تعمل على Azure Databricks؟

نعم، يمكنك تطوير وعرض التطبيقات اللامعة داخل RStudio Server على Databricks.

لا يمكنني استخدام terminal أو git داخل RStudio على Azure Databricks. كيف يمكنني إصلاح ذلك؟

تأكد من تعطيل websockets. في RStudio Server Open Source Edition، يمكنك القيام بذلك من واجهة المستخدم.

جلسة RStudio

في RStudio Server Pro، يمكنك إضافة allow-terminal-websockets=0 إلى /etc/rstudio/rsession.conf لتعطيل websockets لجميع المستخدمين.

لا أرى علامة تبويب التطبيقات ضمن تفاصيل نظام المجموعة.

هذه الميزة غير متوفرة لجميع العملاء. يجب أن تكون على خطة Premium.