هل يمكنك استخدام pandas على Azure Databricks؟

يتضمن وقت تشغيل Databricks Pandas كأحد حزم Python القياسية، ما يسمح لك بإنشاء Pandas DataFrames والاستفادة منها في دفاتر ملاحظات Databricks ومهامها.

في Databricks Runtime 10.4 LTS وما فوق، توفر واجهة برمجة تطبيقات Pandas على Spark أوامر Pandas مألوفة أعلى PySpark DataFrames. يمكنك أيضا تحويل DataFrames بين pandas وPySpark.

يتضمن Apache Spark تنفيذا محسنا للسهم لمنطق Python في شكل واجهات برمجة التطبيقات لوظيفة Pandas، والتي تسمح للمستخدمين بتطبيق تحويلات pandas مباشرة على PySpark DataFrames. يدعم Apache Spark أيضا Pandas UDFs، والتي تستخدم تحسينات الأسهم المماثلة لوظائف المستخدم العشوائية المحددة في Python.

أين تخزن Pandas البيانات على Azure Databricks؟

يمكنك استخدام pandas لتخزين البيانات في العديد من المواقع المختلفة على Azure Databricks. تعتمد قدرتك على تخزين البيانات وتحميلها من بعض المواقع على التكوينات التي تم تعيينها من قبل مسؤولي مساحة العمل.

إشعار

توصي Databricks بتخزين بيانات الإنتاج على تخزين الكائنات السحابية. راجع الاتصال إلى Google Cloud Storage.

للاستكشاف السريع والبيانات دون معلومات حساسة، يمكنك حفظ البيانات بأمان باستخدام المسارات النسبية أو DBFS، كما في الأمثلة التالية:

import pandas as pd

df = pd.DataFrame([["a", 1], ["b", 2], ["c", 3]])

df.to_csv("./relative_path_test.csv")
df.to_csv("/dbfs/dbfs_test.csv")

يمكنك استكشاف الملفات المكتوبة إلى DBFS باستخدام %fs الأمر السحري، كما في المثال التالي. لاحظ أن /dbfs الدليل هو المسار الجذر لهذه الأوامر.

%fs ls

عند الحفظ إلى مسار نسبي، يعتمد موقع الملف على مكان تنفيذ التعليمات البرمجية الخاصة بك. إذا كنت تستخدم دفتر ملاحظات Databricks، يحفظ ملف البيانات الخاص بك في وحدة التخزين المرفقة بمحرك نظام المجموعة. يتم حذف البيانات المخزنة في هذا الموقع بشكل دائم عند إنهاء المجموعة. إذا كنت تستخدم مجلدات Databricks Git مع تمكين دعم الملفات العشوائي، فستحفظ بياناتك في جذر مشروعك الحالي. في كلتا الحالتين، يمكنك استكشاف الملفات المكتوبة باستخدام %sh الأمر السحري، والذي يسمح بعمليات bash بسيطة بالنسبة إلى الدليل الجذر الحالي، كما في المثال التالي:

%sh ls

لمزيد من المعلومات حول كيفية تخزين Azure Databricks لملفات مختلفة، راجع العمل مع الملفات على Azure Databricks.

كيف يمكنك تحميل البيانات باستخدام pandas على Azure Databricks؟

يوفر Azure Databricks عددا من الخيارات لتسهيل تحميل البيانات إلى مساحة العمل للاستكشاف. تختلف الطريقة المفضلة لتحميل البيانات باستخدام pandas اعتمادا على كيفية تحميل بياناتك إلى مساحة العمل.

إذا كانت لديك ملفات بيانات صغيرة مخزنة جنبا إلى جنب مع دفاتر الملاحظات على جهازك المحلي، يمكنك تحميل بياناتك ورمزك مع مجلدات Git. يمكنك بعد ذلك استخدام المسارات النسبية لتحميل ملفات البيانات.

يوفر Azure Databricks خيارات واسعة تستند إلى واجهة المستخدم لتحميل البيانات. تخزن معظم هذه الخيارات بياناتك كجداول Delta. يمكنك قراءة جدول Delta إلى Spark DataFrame، ثم تحويله إلى pandas DataFrame.

إذا قمت بحفظ ملفات البيانات باستخدام DBFS أو المسارات النسبية، يمكنك استخدام DBFS أو المسارات النسبية لإعادة تحميل ملفات البيانات هذه. توفر التعليمات البرمجية التالية مثالا:

import pandas as pd

df = pd.read_csv("./relative_path_test.csv")
df = pd.read_csv("/dbfs/dbfs_test.csv")

توصي Databricks بتخزين بيانات الإنتاج على تخزين الكائنات السحابية. راجع الاتصال إلى Azure Data Lake Storage Gen2 وBlob Storage.

إذا كنت في مساحة عمل ممكنة لكتالوج Unity، يمكنك الوصول إلى التخزين السحابي باستخدام مواقع خارجية. راجع إنشاء موقع خارجي لتوصيل التخزين السحابي ب Azure Databricks.

يمكنك تحميل البيانات مباشرة من Azure Data Lake Storage Gen2 باستخدام pandas وعنوان URL مؤهل بالكامل. تحتاج إلى توفير بيانات اعتماد السحابة للوصول إلى بيانات السحابة.

df = pd.read_csv(
  f"abfss://{container}@{storage_account}.dfs.core.windows.net/{file_path}",
  storage_options={
    "sas_token": sas_token_value
  }
)