مشاركة عبر


توسيع الملفات المضغوطة مضغوطة وقراءتها

يمكنك استخدام unzip الأمر Bash لتوسيع الملفات أو دلائل الملفات التي تم ضغطها بواسطة Zip. إذا قمت بتنزيل ملف أو دليل ينتهي ب .zip، فقم بتوسيع البيانات قبل محاولة المتابعة.

إشعار

يوفر Apache Spark برامج ترميز أصلية للتفاعل مع ملفات Parquet المضغوطة. تنتهي معظم ملفات Parquet المكتوبة بواسطة Azure Databricks ب .snappy.parquet، مما يشير إلى أنها تستخدم ضغطا مصغرا.

كيفية فك ضغط البيانات

يتيح الأمر السحري Azure Databricks %sh تنفيذ تعليمات Bash البرمجية العشوائية، بما في unzip ذلك الأمر .

يستخدم المثال التالي ملف CSV مضغوط تم تنزيله من الإنترنت. راجع تنزيل البيانات من الإنترنت.

إشعار

يمكنك استخدام Databricks Utilities لنقل الملفات إلى التخزين المؤقت المرفق مع برنامج التشغيل قبل توسيعها. لا يمكنك توسيع ملفات zip أثناء وجودها في وحدات تخزين كتالوج Unity. راجع مرجع Databricks Utilities (dbutils).

تستخدم curl التعليمات البرمجية التالية للتنزيل ثم unzip لتوسيع البيانات:

%sh curl https://resources.lendingclub.com/LoanStats3a.csv.zip --output /tmp/LoanStats3a.csv.zip
unzip /tmp/LoanStats3a.csv.zip

استخدم dbutils لنقل الملف الموسع إلى وحدة تخزين كتالوج Unity، كما يلي:

dbutils.fs.mv("file:/LoanStats3a.csv", "/Volumes/my_catalog/my_schema/my_volume/LoanStats3a.csv")

في هذا المثال، تحتوي البيانات التي تم تنزيلها على تعليق في الصف الأول ورأس في الصف الثاني. الآن بعد أن تم توسيع البيانات ونقلها، استخدم الخيارات القياسية لقراءة ملفات CSV، كما في المثال التالي:

df = spark.read.format("csv").option("skipRows", 1).option("header", True).load("/Volumes/my_catalog/my_schema/my_volume/LoanStats3a.csv")
display(df)