Sdílet prostřednictvím


Stažení dat z internetu

Poznámkové bloky Azure Databricks můžete použít ke stažení dat z veřejných adres URL. Azure Databricks neposkytuje žádné nativní nástroje pro stahování dat z internetu, ale můžete použít opensourcové nástroje v podporovaných jazycích. Pokud přistupujete k datům z cloudového úložiště objektů, poskytuje přístup k datům přímo pomocí Apache Sparku lepší výsledky. Viz Připojení ke zdrojům dat.

Clustery Azure Databricks poskytují obecné výpočetní prostředky, takže kromě příkazů Apache Sparku můžete spouštět libovolný kód. Ve výchozím nastavení libovolné příkazy ukládají výsledky do úložiště ephermal připojeného k ovladači. Před čtením pomocí Apache Sparku je nutné přesunout stažená data do nového umístění, protože Apache Spark nemůže číst z dočasného úložiště. Viz Práce se soubory v Azure Databricks.

Databricks doporučuje používat svazky katalogu Unity k ukládání všech ne tabulkových dat. Volitelně můžete během stahování zadat svazek jako cíl nebo po stažení přesunout data do svazku. Svazky nepodporují náhodné zápisy, proto je stáhněte a rozbalte do dočasného úložiště před jejich přesunutím na svazky. Viz Rozbalení a čtení komprimovaných souborů ZIP.

Poznámka:

Některé konfigurace pracovního prostoru můžou bránit přístupu k veřejnému internetu. Pokud potřebujete rozšířit síťový přístup, obraťte se na správce pracovního prostoru.

Stažení souboru do svazku

Databricks doporučuje ukládat všechna ne tabulková data ve svazcích katalogu Unity.

Následující příklady používají balíčky pro Bash, Python a Scala ke stažení souboru do svazku katalogu Unity:

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"))

Stažení souboru do dočasného úložiště

Následující příklady používají balíčky pro Bash, Python a Scala ke stažení souboru do dočasného úložiště připojeného k ovladači:

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"))

Vzhledem k tomu, že se tyto soubory stáhnou do dočasného úložiště připojeného k ovladači, použijte %sh je k zobrazení těchto souborů, jako v následujícím příkladu:

%sh ls /tmp/

Příkazy Bash můžete použít k zobrazení náhledu obsahu stažených souborů tímto způsobem, jako v následujícím příkladu:

%sh head /tmp/curl-subway.csv

Přesun dat pomocí nástrojů dbutils

Pokud chcete získat přístup k datům pomocí Apache Sparku, musíte je přesunout z dočasného úložiště do cloudového úložiště objektů. Databricks doporučuje používat svazky pro správu veškerého přístupu ke cloudovému úložišti objektů. Viz Připojení ke zdrojům dat.

Nástroje Databricks (dbutils) umožňují přesunout soubory z dočasného úložiště připojeného k ovladači do jiných umístění, včetně svazků katalogu Unity. Následující příklad přesune data do ukázkového svazku:

dbutils.fs.mv("file:/tmp/curl-subway.csv", "/Volumes/my_catalog/my_schema/my_volume/subway.csv")

Čtení stažených dat

Jakmile data přesunete na svazek, můžete je číst jako normální. Následující kód přečte data CSV přesunutá na svazek:

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