LoginSignup
1
2

More than 3 years have passed since last update.

Databricksにおけるデータのインポート、読み込み、変更

Last updated at Posted at 2021-04-09

Databricksクイックスタートガイドのコンテンツです。

Introduction to importing, reading, and modifying data | Databricks on AWS [2021/3/17時点]の翻訳です。

本記事では、UIを使ってどのようにデータをDatabricksにインポートするのか、Spark、ローカルAPIを用いてインポートしたデータをどのように読み込むのか、Databricks File System (DBFS)コマンドを用いてどのようにデータを変更するのかを説明します。

データのインポート

手元のマシンにある小規模なデータをDatabricksで分析したい場合には、UIを用いてDBFSにデータをインポートすることができます。

注意
この機能は管理者によって無効にされている場合があります。この機能を有効・無効にする方法に関しては、Manage data upload(英語)を参照ください。

UIを使ってDBFSにデータをアップロードする方法は2つあります:

  • Upload Data UIでファイルをFileStoreにアップロードする。
  • Create table UI(英語)でデータをテーブルにアップロードする。こちらは、ランディングページのImport & Explore Dataからもアクセスできます。

これらの方法でインポートされたファイルはFileStore(英語)に格納されます。

実運用環境においては、DBFS CLI(英語)DBFS API(英語)Databricks file system utilities (dbutils.fs)(英語)を用いて、明示的にファイルをアップロードすることをお勧めします。

データにアクセスするための様々なデータソースもご確認ください。

Spark APIを用いてクラスターノードでデータを読み込む

Spark API(英語)を用いてDBFSにインポートされたデータをApache Sparkデータフレームに読む込みます。例えば、CSVファイルをインポートしたのであれば、これらの例を用いてデータを読み込むことができます。

ティップス
簡単にアクセスできるように、テーブルを作成することをお勧めします。詳細はDatabases and tables(英語)を参照ください。

Python

sparkDF = spark.read.csv('/FileStore/tables/state_income-9f7c5.csv', header="true", inferSchema="true")

R

sparkDF <- read.df(source = "csv", path = "/FileStore/tables/state_income-9f7c5.csv", header="true", inferSchema = "true")

Scala

val sparkDF = spark.read.format("csv")
.option("header", "true")
.option("inferSchema", "true")
.load("/FileStore/tables/state_income-9f7c5.csv")

ローカルAPIを用いてクラスターノードでデータを読み込む

また、DBFSにインポートされたデータを、ローカルファイルAPIを用いてSparkのドライバーノードで動作するプログラムで読み込むことができます。例えば:

Python

pandas_df = pd.read_csv("/dbfs/FileStore/tables/state_income-9f7c5.csv", header='infer')

R

df = read.csv("/dbfs/FileStore/tables/state_income-9f7c5.csv", header = TRUE)

アップロードしたデータの編集

Databricksでインポートしたデータを直接編集することはできません、しかし、Spark APIs(英語)DBFS CLI(英語)DBFS API(英語)Databricks file system utilities (dbutils.fs)(英語)を用いてデータを上書きすることができます。

DBFSからデータを削除するには、上記のツール、APIを使用します。例えば、Databricks Utilities(英語)dbutils.fs.rmコマンドを使用します:

Python

dbutils.fs.rm("dbfs:/FileStore/tables/state_income-9f7c5.csv", true)

警告!
削除したデータを復元することはできません。

Databricks 無料トライアル

Databricks 無料トライアル

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2