توسيع الملفات المضغوطة مضغوطة وقراءتها
يمكنك استخدام 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)