Herunterladen von Daten aus dem Internet
Sie können Azure Databricks-Notebooks verwenden, um Daten von öffentlichen URLs herunterzuladen. Azure Databricks bietet keine nativen Tools zum Herunterladen von Daten aus dem Internet. Sie können jedoch Open-Source-Tools in unterstützten Sprachen verwenden. Wenn Sie auf Daten aus dem Cloudobjektspeicher zugreifen, liefert der direkte Zugriff auf Daten mit Apache Spark bessere Ergebnisse. Weitere Informationen finden Sie unter Herstellen von Verbindungen mit Datenquellen.
Azure Databricks-Cluster bieten allgemeine Computeressourcen, sodass Sie zusätzlich zu Apache Spark-Befehlen beliebigen Code ausführen können. Beliebige Befehle speichern Ergebnisse im kurzlebigen Speicher, der standardmäßig an den Treiber angefügt ist. Sie müssen heruntergeladene Daten an einen neuen Speicherort verschieben, bevor Sie sie mit Apache Spark lesen können, da Apache Spark nicht aus dem kurzlebigen Speicher lesen kann. Siehe auch unter Arbeiten mit Dateien in Azure Databricks.
Databricks empfiehlt die Verwendung von Unity Catalog-Volumes zum Speichern aller nicht tabellarischen Daten. Sie können optional ein Volume als Ziel während des Downloads angeben oder Daten nach dem Download in ein Volume verschieben. Volumes unterstützen keine zufälligen Schreibvorgänge. Laden Sie daher Dateien herunter, und entpacken Sie sie in den kurzlebigen Speicher, bevor Sie sie in Volumes verschieben. Weitere Informationen finden Sie unter Dekomprimieren und Lesen komprimierter ZIP-Dateien.
Hinweis
Einige Arbeitsbereichskonfigurationen verhindern möglicherweise den Zugriff auf das öffentliche Internet. Wenden Sie sich an Ihren Arbeitsbereichsadministrator, wenn Sie erweiterten Netzwerkzugriff benötigen.
Herunterladen einer Datei in ein Volume
Databricks empfiehlt, alle nicht tabellarischen Daten in Unity Catalog-Volumes zu speichern.
In den folgenden Beispielen werden Pakete für Bash, Python und Scala verwendet, um eine Datei in ein Unity Catalog-Volume herunterzuladen:
Bash
%sh curl https://data.cityofnewyork.us/api/views/kk4q-3rt2/rows.csv --output /Volumes/my_catalog/my_schema/my_volume/curl-subway.csv
Python
import urllib
urllib.request.urlretrieve("https://data.cityofnewyork.us/api/views/kk4q-3rt2/rows.csv", "/Volumes/my_catalog/my_schema/my_volume/python-subway.csv")
Scala
import java.net.URL
import java.io.File
import org.apache.commons.io.FileUtils
FileUtils.copyURLToFile(new URL("https://data.cityofnewyork.us/api/views/kk4q-3rt2/rows.csv"), new File("/Volumes/my_catalog/my_schema/my_volume/scala-subway.csv"))
Herunterladen einer Datei in den kurzlebigen Speicher
In den folgenden Beispielen werden Pakete für Bash, Python und Scala verwendet, um eine Datei in den an den Treiber angefügten kurzlebigen Speicher herunterzuladen:
Bash
%sh curl https://data.cityofnewyork.us/api/views/kk4q-3rt2/rows.csv --output /tmp/curl-subway.csv
Python
import urllib
urllib.request.urlretrieve("https://data.cityofnewyork.us/api/views/kk4q-3rt2/rows.csv", "/tmp/python-subway.csv")
Scala
import java.net.URL
import java.io.File
import org.apache.commons.io.FileUtils
FileUtils.copyURLToFile(new URL("https://data.cityofnewyork.us/api/views/kk4q-3rt2/rows.csv"), new File("/tmp/scala-subway.csv"))
Da diese Dateien in den an den Treiber angefügten kurzlebigen Speicher heruntergeladen wurden, verwenden Sie %sh
, um diese Dateien wie im folgenden Beispiel einzusehen:
%sh ls /tmp/
Sie können Bash-Befehle verwenden, um den Inhalt von Dateien, die Sie auf diese Weise herunterladen, wie im folgenden Beispiel in der Vorschau anzuzeigen:
%sh head /tmp/curl-subway.csv
Verschieben von Daten mit dbutils
Um auf Daten mit Apache Spark zuzugreifen, müssen Sie sie aus dem kurzlebigen Speicher in den Cloudobjektspeicher verschieben. Databricks empfiehlt die Verwendung von Volumes zum Verwalten des Zugriffs auf Daten im Cloudobjektspeicher. Weitere Informationen finden Sie unter Herstellen von Verbindungen mit Datenquellen.
Mit den Databricks-Hilfsprogrammen (dbutils
) können Sie Dateien aus dem kurzlebigen Speicher, der an den Treiber angefügt ist, an andere Speicherorte, einschließlich Unity Catalog-Volumes, verschieben. Im folgenden Beispiel werden Daten in ein Beispielvolume verschoben:
dbutils.fs.mv("file:/tmp/curl-subway.csv", "/Volumes/my_catalog/my_schema/my_volume/subway.csv")
Lesen heruntergeladener Daten
Nachdem Sie die Daten in ein Volume verschoben haben, können Sie die Daten wie gewohnt lesen. Der folgende Code liest die CSV-Daten, die in ein Volume verschoben wurden:
df = spark.read.format("csv").option("header", True).load("/Volumes/my_catalog/my_schema/my_volume/subway.csv")
display(df)
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für