بدء الاستخدام: استيراد بيانات CSV وتصورها من دفتر ملاحظات

ترشدك هذه المقالة خلال استخدام دفتر ملاحظات Azure Databricks لاستيراد البيانات من ملف CSV يحتوي على بيانات اسم الطفل من health.data.ny.gov إلى وحدة تخزين كتالوج Unity باستخدام Python وSc scala وR. ستتعلم أيضا تعديل اسم عمود، وتصور البيانات، والحفظ في جدول.

المتطلبات

لإكمال المهام في هذه المقالة، يجب أن تفي بالمتطلبات التالية:

  • يجب تمكين كتالوج Unity لمساحة العمل الخاصة بك. للحصول على معلومات حول بدء استخدام كتالوج Unity، راجع إعداد كتالوج Unity وإدارته.
  • يجب أن يكون لديك الامتياز على WRITE VOLUME وحدة تخزين، USE SCHEMA والامتياز على المخطط الأصل، والامتياز USE CATALOG على الكتالوج الأصل.
  • يجب أن يكون لديك إذن لاستخدام مورد حساب موجود أو إنشاء مورد حساب جديد. راجع بدء الاستخدام: إعداد الحساب ومساحة العمل أو راجع مسؤول Databricks.

تلميح

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

الخطوة 1: إنشاء دفتر ملاحظات جديد

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

لمعرفة المزيد حول إنشاء دفاتر الملاحظات وإدارتها، راجع إدارة دفاتر الملاحظات.

الخطوة 2: تحديد المتغيرات

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

  1. انسخ التعليمات البرمجية التالية والصقها في خلية دفتر الملاحظات الفارغة الجديدة. استبدل <catalog-name>و <schema-name>و <volume-name> بأسماء الكتالوج والمخطط ووحدات التخزين لوحدة تخزين كتالوج Unity. استبدل table_name القيمة اختياريا باسم جدول من اختيارك. ستحفظ بيانات اسم الطفل في هذا الجدول لاحقا في هذه المقالة.

  2. اضغط Shift+Enter لتشغيل الخلية وإنشاء خلية فارغة جديدة.

    Python

    catalog = "<catalog_name>"
    schema = "<schema_name>"
    volume = "<volume_name>"
    download_url = "https://health.data.ny.gov/api/views/jxy9-yhdk/rows.csv"
    file_name = "baby_names.csv"
    table_name = "baby_names"
    path_volume = "/Volumes/" + catalog + "/" + schema + "/" + volume
    path_table = catalog + "." + schema
    print(path_table) # Show the complete path
    print(path_volume) # Show the complete path
    

    Scala

    val catalog = "<catalog_name>"
    val schema = "<schema_name>"
    val volume = "<volume_name>"
    val downloadUrl = "https://health.data.ny.gov/api/views/jxy9-yhdk/rows.csv"
    val fileName = "baby_names.csv"
    val tableName = "baby_names"
    val pathVolume = s"/Volumes/${catalog}/${schema}/${volume}"
    val pathTable = s"${catalog}.${schema}"
    print(pathVolume) // Show the complete path
    print(pathTable) // Show the complete path
    

    R

    catalog <- "<catalog_name>"
    schema <- "<schema_name>"
    volume <- "<volume_name>"
    download_url <- "https://health.data.ny.gov/api/views/jxy9-yhdk/rows.csv"
    file_name <- "baby_names.csv"
    table_name <- "baby_names"
    path_volume <- paste("/Volumes/", catalog, "/", schema, "/", volume, sep = "")
    path_table <- paste(catalog, ".", schema, sep = "")
    print(path_volume) # Show the complete path
    print(path_table) # Show the complete path
    

الخطوة 3: استيراد ملف CSV

في هذه الخطوة، يمكنك استيراد ملف CSV يحتوي على بيانات اسم الطفل من health.data.ny.gov إلى وحدة تخزين كتالوج Unity.

  1. انسخ التعليمات البرمجية التالية والصقها في خلية دفتر الملاحظات الفارغة الجديدة. تنسخ هذه التعليمة البرمجية rows.csv الملف من health.data.ny.gov إلى وحدة تخزين كتالوج Unity باستخدام الأمر Databricks dbutuils .

  2. اضغط Shift+Enter لتشغيل الخلية ثم انتقل إلى الخلية التالية.

    Python

    dbutils.fs.cp(f"{download_url}", f"{path_volume}" + "/" + f"{file_name}")
    

    Scala

    dbutils.fs.cp(downloadUrl, s"${pathVolume}/${fileName}")
    

    R

    dbutils.fs.cp(download_url, paste(path_volume, "/", file_name, sep = ""))
    

الخطوة 4: تحميل بيانات CSV في DataFrame

في هذه الخطوة، يمكنك إنشاء DataFrame باسم df من ملف CSV الذي قمت بتحميله مسبقا في وحدة تخزين كتالوج Unity باستخدام أسلوب spark.read.csv .

  1. انسخ التعليمات البرمجية التالية والصقها في خلية دفتر الملاحظات الفارغة الجديدة. تحمل هذه التعليمة البرمجية بيانات اسم الطفل في DataFrame df من ملف CSV.

  2. اضغط Shift+Enter لتشغيل الخلية ثم انتقل إلى الخلية التالية.

    Python

    df = spark.read.csv(f"{path_volume}/{file_name}",
      header=True,
      inferSchema=True,
      sep=",")
    

    Scala

    val df = spark.read
        .option("header", "true")
        .option("inferSchema", "true")
        .option("delimiter", ",")
        .csv(s"${pathVolume}/${fileName}")
    

    R

    # Load the SparkR package that is already preinstalled on the cluster.
    library(SparkR)
    
    df <- read.df(paste(path_volume, "/", file_name, sep=""),
      source="csv",
      header = TRUE,
      inferSchema = TRUE,
      delimiter = ",")
    

يمكنك تحميل البيانات من العديد من تنسيقات الملفات المدعومة.

الخطوة 5: تصور البيانات من دفتر الملاحظات

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

  1. انسخ التعليمات البرمجية التالية والصقها في خلية دفتر الملاحظات الفارغة الجديدة، ثم انقر فوق تشغيل الخلية لعرض البيانات في جدول.

    Python

    display(df)
    

    Scala

    display(df)
    

    R

    display(df)
    
  2. راجع النتائج في الجدول.

  3. إلى جانب علامة التبويب جدول، انقر فوق + مرئيات ثم انقر فوقها.

  4. في محرر المرئيات، انقر فوق نوع المرئيات، وتحقق من تحديد سحابة Word.

  5. في العمود كلمات، تحقق من First Name تحديده.

  6. في حد الترددات، انقر فوق 35.

    مخطط سحابة word

  7. انقر فوق حفظ.

الخطوة 6: حفظ DataFrame إلى جدول

هام

لحفظ DataFrame في كتالوج Unity، يجب أن يكون لديك CREATE امتيازات الجدول على الكتالوج والمخطط. للحصول على معلومات حول الأذونات في كتالوج Unity، راجع الامتيازات والكائنات القابلة للتأمين في كتالوج Unity وإدارة الامتيازات في كتالوج Unity.

  1. انسخ التعليمات البرمجية التالية والصقها في خلية دفتر ملاحظات فارغة. تحل هذه التعليمة البرمجية محل مسافة في اسم العمود. الأحرف الخاصة، مثل المسافات غير مسموح بها في أسماء الأعمدة. تستخدم هذه التعليمة البرمجية أسلوب Apache Spark withColumnRenamed() .

    Python

    df = df.withColumnRenamed("First Name", "First_Name")
    df.printSchema
    

    Scala

    val dfRenamedColumn = df.withColumnRenamed("First Name", "First_Name")
    // when modifying a DataFrame in Scala, you must assign it to a new variable
    dfRenamedColumn.printSchema()
    

    R

    df <- withColumnRenamed(df, "First Name", "First_Name")
    printSchema(df)
    
  2. انسخ التعليمات البرمجية التالية والصقها في خلية دفتر ملاحظات فارغة. تحفظ هذه التعليمة البرمجية محتويات DataFrame إلى جدول في كتالوج Unity باستخدام متغير اسم الجدول الذي قمت بتعريفه في بداية هذه المقالة.

    Python

    df.write.mode("overwrite").saveAsTable(f"{path_table}" + "." + f"{table_name}")
    

    Scala

    dfRenamedColumn.write.mode("overwrite").saveAsTable(s"${pathTable}.${tableName}")
    

    R

    saveAsTable(df, paste(path_table, ".", table_name), mode = "overwrite")
    
  3. للتحقق من حفظ الجدول، انقر فوق كتالوج في الشريط الجانبي الأيسر لفتح واجهة مستخدم مستكشف الكتالوج. افتح الكتالوج ثم المخطط للتحقق من ظهور الجدول.

  4. انقر فوق الجدول لعرض مخطط الجدول على علامة التبويب نظرة عامة .

  5. انقر فوق نموذج البيانات لعرض 100 صف من البيانات من الجدول.

استيراد دفاتر ملاحظات البيانات وتصورها

استخدم أحد دفاتر الملاحظات التالية لتنفيذ الخطوات الواردة في هذه المقالة. استبدل <catalog-name>و <schema-name>و <volume-name> بأسماء الكتالوج والمخطط ووحدات التخزين لوحدة تخزين كتالوج Unity. استبدل table_name القيمة اختياريا باسم جدول من اختيارك.

Python

استيراد البيانات من CSV باستخدام Python

الحصول على دفتر الملاحظات

Scala

استيراد البيانات من CSV باستخدام Scala

الحصول على دفتر الملاحظات

R

استيراد البيانات من CSV باستخدام R

الحصول على دفتر الملاحظات

الخطوات التالية

الموارد الإضافية