Rozwijanie i odczytywanie skompresowanych plików zip
Możesz użyć unzip
polecenia Bash, aby rozwinąć pliki lub katalogi plików, które zostały skompresowane zip. Jeśli pobierzesz lub napotkasz plik lub katalog kończący się ciągiem , rozwiń dane przed podjęciem .zip
próby kontynuowania.
Uwaga
Platforma Apache Spark udostępnia koderów natywnych do interakcji z skompresowanymi plikami Parquet. Większość plików Parquet napisanych przez usługę .snappy.parquet
Azure Databricks kończy się na , co wskazuje, że używają kompresji snappy.
Jak rozpakować dane
Polecenie magic usługi Azure Databricks %sh
umożliwia wykonywanie dowolnego kodu powłoki Bash, w tym unzip
polecenia.
W poniższym przykładzie użyto spakowanego pliku CSV pobranego z Internetu. Zobacz Pobieranie danych z Internetu.
Uwaga
Możesz użyć narzędzi usługi Databricks, aby przenieść pliki do magazynu efemerycznego dołączonego do sterownika przed ich rozszerzeniem. Nie można rozwinąć plików zip, gdy znajdują się w woluminach wykazu aparatu Unity. Zobacz Dokumentacja narzędzi usługi Databricks (dbutils).
Poniższy kod używa curl
metody do pobrania, a następnie unzip
do rozwinięcia danych:
%sh curl https://resources.lendingclub.com/LoanStats3a.csv.zip --output /tmp/LoanStats3a.csv.zip
unzip /tmp/LoanStats3a.csv.zip
Użyj narzędzia dbutils, aby przenieść rozszerzony plik do woluminu wykazu aparatu Unity w następujący sposób:
dbutils.fs.mv("file:/LoanStats3a.csv", "/Volumes/my_catalog/my_schema/my_volume/LoanStats3a.csv")
W tym przykładzie pobrane dane mają komentarz w pierwszym wierszu i nagłówek w drugim. Po rozwinięciu i przeniesieniu danych użyj standardowych opcji odczytywania plików CSV, jak w poniższym przykładzie:
df = spark.read.format("csv").option("skipRows", 1).option("header", True).load("/Volumes/my_catalog/my_schema/my_volume/LoanStats3a.csv")
display(df)