1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Databricks Apache Sparkクイックスタート

Last updated at Posted at 2021-04-13

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

Get started with Apache Spark | Databricks on AWS[2021/3/17時点]の翻訳です。

このチュートリアルでは、あなたがApache Sparkをすぐに使い始められるお手伝いをします。簡単にキーとなるコンセプトを紹介した後で、すぐに最初のApache Sparkアプリケーションを書いてみます。他のチュートリアルモジュールでは、あなたの興味に応じてより理解を深めることができます。

このモジュールでは、以下のことを学びます:

要件

ユーザー向けDatabricksスタートガイドを修了してください。

Sparkインタフェース

Apache Sparkには、理解する必要がある主要なインタフェースが3つあります: レジリエント分散データセット、データフレーム、データセットです。

  • レジリエント分散データセット: 一番最初のApahce Sparkの抽象化レイヤーは、レジリエント分散データセット(RDD)でした。マシンの集合体(クラスター)に渡って配置される、1種類以上のデータオブジェクトのシーケンスに対するインタフェースです。
  • データフレーム: PythonのpandasライブラリやR言語でおなじみのデータフレームのコンセプトに近しいものです。Dataframe APIは、Java、Python、R、Scalaで利用できます。
  • データセット: データフレームとRDDを組み合わせたものです。データフレームの利便性を保ったまま、型インタフェースを提供します。データセットAPIは、JavaとScalaで利用できます。

多くのシナリオで、データフレーム、データセットに対して性能の最適化が行われているため、RDDを使うケースは多くありません。しかしながら、以下の理由からRDDの抽象化を理解することは重要です。

  • Sparkが高速に動作し、データの証跡を得るために、RDDは基盤となるインフラストラクチャです。
  • Sparkのより高度なコンポーネントを使う際に、RDDを使用する必要があるかもしれません。
  • Spark UIの可視化はRDDを参照しています。

Sparkアプリケーションを開発する際は、特にApache SparkデータフレームチュートリアルDatasets tutorial(英語)を参照することになります。

Apache Sparkアプリケーションことはじめ

最初のSparkアプリケーションを書くためには、Databricksノートブックセルにコードを追加する必要があります。この例ではPythonを使用します。詳細に関しては、Apache Spark Quick Start Guideを参照することもできます。

Databricksファイルシステムにあるフォルダーの中を表示するには、以下を実行します。

Python
# Take a look at the file system
display(dbutils.fs.ls("/databricks-datasets/samples/docs/"))

次のコマンドでは、全てのノートブックで利用できるSparkSessionであるsparkを利用します。README.mdテキストファイルを読み込み、textFileというデータフレームを作成するには以下を実行します。

Python
textFile = spark.read.text("/databricks-datasets/samples/docs/README.md")

テキストファイルの行数をカウントするには、データフレームにcountアクションを適用します。

Python
textFile.count()

ここで、一つのことに気が付いたかもしれません。テキストファイルを読み込んだ二番目のコマンドでは、何の結果も表示されなかったのに、countを実行した三番目のコマンドでは結果が表示されました。これは、前者は変換処理(transformation)であったのに対して、後者はアクション(action)であったためです。変換処理はレイジー(lazy)であり、アクションが実行された時に初めて実行されます。これにより、コマンドを順次実行するのに比べて、Sparkでは性能を最適化(例えば、ジョインを行う前にフィルタリングを行うなど)することができます。変換処理とアクションの完全な一覧に関しては、Apache SparkプログラミングガイドのTransformationsActionsを参照ください。

Databricksデータセット

Databricksワークスペースには、Sparkを学習したり、アルゴリズムをテストする際に利用できる様々なデータセットが格納されています。クイックスタートガイドを通じて、これらのデータセットを見ることになるでしょう。このデータセットは/databricks-datasetsに格納されています。

ノートブック

サンプルノートブックはこちらとなります。

Databricks 無料トライアル

Databricks 無料トライアル

1
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?