بدء الاستخدام: استيراد بيانات 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: تحديد المتغيرات
في هذه الخطوة، يمكنك تعريف المتغيرات لاستخدامها في مثال دفتر الملاحظات الذي تقوم بإنشائه في هذه المقالة.
انسخ التعليمات البرمجية التالية والصقها في خلية دفتر الملاحظات الفارغة الجديدة. استبدل
<catalog-name>
و<schema-name>
و<volume-name>
بأسماء الكتالوج والمخطط ووحدات التخزين لوحدة تخزين كتالوج Unity. استبدلtable_name
القيمة اختياريا باسم جدول من اختيارك. ستحفظ بيانات اسم الطفل في هذا الجدول لاحقا في هذه المقالة.اضغط
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.
انسخ التعليمات البرمجية التالية والصقها في خلية دفتر الملاحظات الفارغة الجديدة. تنسخ هذه التعليمة البرمجية
rows.csv
الملف من health.data.ny.gov إلى وحدة تخزين كتالوج Unity باستخدام الأمر Databricks dbutuils .اضغط
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 .
انسخ التعليمات البرمجية التالية والصقها في خلية دفتر الملاحظات الفارغة الجديدة. تحمل هذه التعليمة البرمجية بيانات اسم الطفل في DataFrame
df
من ملف CSV.اضغط
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 في جدول في دفتر الملاحظات، ثم تصور البيانات في مخطط سحابي للكلمة في دفتر الملاحظات.
انسخ التعليمات البرمجية التالية والصقها في خلية دفتر الملاحظات الفارغة الجديدة، ثم انقر فوق تشغيل الخلية لعرض البيانات في جدول.
Python
display(df)
Scala
display(df)
R
display(df)
راجع النتائج في الجدول.
إلى جانب علامة التبويب جدول، انقر فوق + مرئيات ثم انقر فوقها.
في محرر المرئيات، انقر فوق نوع المرئيات، وتحقق من تحديد سحابة Word.
في العمود كلمات، تحقق من
First Name
تحديده.في حد الترددات، انقر فوق
35
.انقر فوق حفظ.
الخطوة 6: حفظ DataFrame إلى جدول
هام
لحفظ DataFrame في كتالوج Unity، يجب أن يكون لديك CREATE
امتيازات الجدول على الكتالوج والمخطط. للحصول على معلومات حول الأذونات في كتالوج Unity، راجع الامتيازات والكائنات القابلة للتأمين في كتالوج Unity وإدارة الامتيازات في كتالوج Unity.
انسخ التعليمات البرمجية التالية والصقها في خلية دفتر ملاحظات فارغة. تحل هذه التعليمة البرمجية محل مسافة في اسم العمود. الأحرف الخاصة، مثل المسافات غير مسموح بها في أسماء الأعمدة. تستخدم هذه التعليمة البرمجية أسلوب 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)
انسخ التعليمات البرمجية التالية والصقها في خلية دفتر ملاحظات فارغة. تحفظ هذه التعليمة البرمجية محتويات 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")
للتحقق من حفظ الجدول، انقر فوق كتالوج في الشريط الجانبي الأيسر لفتح واجهة مستخدم مستكشف الكتالوج. افتح الكتالوج ثم المخطط للتحقق من ظهور الجدول.
انقر فوق الجدول لعرض مخطط الجدول على علامة التبويب نظرة عامة .
انقر فوق نموذج البيانات لعرض 100 صف من البيانات من الجدول.
استيراد دفاتر ملاحظات البيانات وتصورها
استخدم أحد دفاتر الملاحظات التالية لتنفيذ الخطوات الواردة في هذه المقالة. استبدل <catalog-name>
و <schema-name>
و <volume-name>
بأسماء الكتالوج والمخطط ووحدات التخزين لوحدة تخزين كتالوج Unity. استبدل table_name
القيمة اختياريا باسم جدول من اختيارك.
Python
استيراد البيانات من CSV باستخدام Python
Scala
استيراد البيانات من CSV باستخدام Scala
R
استيراد البيانات من CSV باستخدام R
الخطوات التالية
- للتعرف على إضافة بيانات إضافية إلى جدول موجود من ملف CSV، راجع بدء الاستخدام: استيعاب بيانات إضافية وإدراجها.
- للتعرف على تنقية البيانات وتحسينها، راجع البدء: تحسين البيانات وتطهيرها.