インターネットからデータをダウンロードする
Databricks ノートブックを使用して、パブリック URL からデータをダウンロードできます。 Databricks 、インターネットからデータをダウンロードするためのネイティブ ツールは提供されていませんが、サポートされている言語で OSS ツールを使用できます。 クラウドオブジェクトストレージからデータにアクセスする場合は、Apache Spark を使用してデータに直接アクセスすると、より良い結果が得られます。 「情報ソースへの接続」を参照してください。
Databricksクラスターは、 Apache Sparkコマンドに加えて任意のコードを実行できる汎用コンピュートを提供します。 任意のコマンドは、デフォルトでドライバーに接続された一時ストレージに結果を保存します。 Apache Spark は一時ストレージから読み取ることができないため、ダウンロードしたデータを Apache Spark で読み取る前に新しい場所に移動する必要があります。 「Databricks でのファイルの操作」を参照してください。
Databricks 、すべての非表形式データを保存するにはUnity Catalogボリュームを使用することをお勧めします。 必要に応じて、ダウンロード中にデスティネーションとしてボリュームを指定したり、ダウンロード後にデータをボリュームに移動したりできます。 ボリュームはランダム書き込みをサポートしていないため、ファイルをダウンロードしてエフェメラルストレージに解凍してから、ボリュームに移動してください。 Zip圧縮ファイルを展開して読み取るを参照してください。
注
一部のワークスペース構成では、パブリック インターネットへのアクセスが妨げられる場合があります。 拡張ネットワーク アクセスが必要な場合は、ワークスペース管理者に問い合わせてください。
ファイルをボリュームにダウンロードする
Databricks では、すべての非表形式データを Unity Catalog ボリュームに保存することを推奨しています。
次の例では、Bash、Python、Scala のパッケージを使用して、ファイルを Unity Catalog ボリュームにダウンロードします。
%sh curl https://data.cityofnewyork.us/api/views/kk4q-3rt2/rows.csv --output /Volumes/my_catalog/my_schema/my_volume/curl-subway.csv
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")
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"))
ファイルをエフェメラルストレージにダウンロードする
次の例では、Bash、Python、Scala のパッケージを使用して、ドライバーに接続された一時ストレージにファイルをダウンロードします。
%sh curl https://data.cityofnewyork.us/api/views/kk4q-3rt2/rows.csv --output /tmp/curl-subway.csv
import urllib
urllib.request.urlretrieve("https://data.cityofnewyork.us/api/views/kk4q-3rt2/rows.csv", "/tmp/python-subway.csv")
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"))
これらのファイルはドライバーにアタッチされたエフェメラル ストレージにダウンロードされるため、次の例のように、 %sh
を使用してこれらのファイルを表示します。
%sh ls /tmp/
次の例のように、Bash コマンドを使用して、この方法でダウンロードしたファイルの内容をプレビューできます。
%sh head /tmp/curl-subway.csv
dbutilsを使用したデータの移動
Apache Spark を使用してデータにアクセスするには、データを一時ストレージからクラウドオブジェクトストレージに移動する必要があります。 Databricks では、クラウドオブジェクトストレージへのすべてのアクセスを管理するためにボリュームを使用することを推奨しています。 「情報ソースへの接続」を参照してください。
Databricksユーティリティ(dbutils
) を使用すると、ドライバーに接続された一時ストレージからUnity Catalogボリュームなどの他の場所にファイルを移動できます。 次の例では、サンプルボリュームにデータを移動します。
dbutils.fs.mv("file:/tmp/curl-subway.csv", "/Volumes/my_catalog/my_schema/my_volume/subway.csv")