Apache Spark クイックスタートApache Spark Quickstart

このチュートリアルモジュールは、Apache Spark の使用をすぐに開始するのに役立ちます。This tutorial module helps you to get started quickly with using Apache Spark. 主要な概念について簡単に説明します。そのため、最初の Apache Spark ジョブを作成することができます。We discuss key concepts briefly, so you can get right down to writing your first Apache Spark job. このガイドの他のチュートリアルモジュールでは、選択したトピックをさらに掘り下げていく機会があります。In the other tutorial modules in this guide, you will have the opportunity to go deeper into the topic of your choice.

このチュートリアルモジュールでは、次のことについて説明します。In this tutorial module, you will learn:

また、このモジュールに含まれているすべてのコード例にアクセスして実行するためにインポートできるサンプルノートブックも用意されています。We also provide sample notebooks that you can import to access and run all of the code examples included in the module.

前提条件Requirements

Azure Databricks のクイックスタートを完了します。Complete the Azure Databricks Quickstart.

Spark インターフェイス Spark interfaces

理解しておく必要がある主要な Spark インターフェイスが3つあります。There are three key Spark interfaces that you should know about.

回復性のある分散データセット (RDD)Resilient Distributed Dataset (RDD)

Apache Spark の最初の抽象化は RDD でした。Apache Spark’s first abstraction was the RDD. これは、マシン (クラスター) のコレクション全体に配置される1つ以上の型で構成されるデータオブジェクトのシーケンスに対するインターフェイスです。It is an interface to a sequence of data objects that consist of one or more types that are located across a collection of machines (a cluster). RDDs はさまざまな方法で作成でき、"最下位レベル" API を使用できます。RDDs can be created in a variety of ways and are the “lowest level” API available. これは Apache Spark の元のデータ構造ですが、RDD 機能のスーパーセットであるデータフレーム API に焦点を当てる必要があります。While this is the original data structure for Apache Spark, you should focus on the DataFrame API, which is a superset of the RDD functionality. RDD API は、Java、Python、およびスケールの言語で使用できます。The RDD API is available in the Java, Python, and Scala languages.

データフレームDataFrame

これらの概念は、パンダの Python ライブラリと R 言語のデータフレームに似ています。These are similar in concept to the DataFrame you may be familiar with in the pandas Python library and the R language. データフレーム API は、Java、Python、R、およびスケールの各言語で使用できます。The DataFrame API is available in the Java, Python, R, and Scala languages.

DatasetDataset

データフレームと RDD の組み合わせ。A combination of DataFrame and RDD. これは、データフレームの利便性を提供しながら、RDDs で使用できる型指定されたインターフェイスを提供します。It provides the typed interface that is available in RDDs while providing the convenience of the DataFrame. Dataset API は Java で使用でき、1つの言語で使用できます。The Dataset API is available in the Java and Scala languages.

多くのシナリオでは、特に、DataFrames データセットに埋め込まれたパフォーマンスの最適化により、RDDs を操作する必要はありません。In many scenarios, especially with the performance optimizations embedded in DataFrames and Datasets, it will not be necessary to work with RDDs. ただし、次の理由から、RDD の抽象化を理解することが重要です。But it is important to understand the RDD abstraction because:

  • RDD は、Spark が高速に実行され、データ系列を提供できる、基になるインフラストラクチャです。The RDD is the underlying infrastructure that allows Spark to run so fast and provide data lineage.
  • Spark の高度なコンポーネントについて詳しくは、RDDs の使用が必要になる場合があります。If you are diving into more advanced components of Spark, it may be necessary to use RDDs.
  • SPARK UI内の視覚化は rdds を参照します。The visualizations within the Spark UI reference RDDs.

Spark アプリケーションを開発するときは、通常、 Dataframes データセットを使用します。When you develop Spark applications, you typically use DataFrames and Datasets.

最初の Apache Spark ジョブを作成する Write your first Apache Spark job

最初の Apache Spark ジョブを作成するには、Azure Databricks notebook のセルにコードを追加します。To write your first Apache Spark job, you add code to the cells of an Azure Databricks notebook. この例では、Python を使用します。This example uses Python. 詳細については、 Apache Spark クイックスタートガイドを参照することもできます。For more information, you can also reference the Apache Spark Quick Start Guide.

この最初のコマンドは、 Databricks ファイルシステム内のフォルダーの内容を一覧表示します。This first command lists the contents of a folder in the Databricks File System:

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

no-代替テキスト no-alternative-text

次のコマンドでは、すべてのノートブックで使用できる SparkSession spark を使用して README.md テキストファイルを読み取り、textFile という名前のデータフレームを作成します。The next command uses spark, the SparkSession available in every notebook, to read the README.md text file and create a DataFrame named textFile:

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

テキストファイルの行をカウントするには、count アクションをデータフレームに適用します。To count the lines of the text file, apply the count action to the DataFrame:

textFile.count()

no-代替テキスト no-alternative-text

注意が必要なのは、テキストファイルを読み取る2番目のコマンドは出力を生成しないのに対し、3番目のコマンドは count を実行するということです。One thing you may notice is that the second command, reading the text file, does not generate any output while the third command, performing the count, does. これは、最初のコマンドが_変換_であり、2つ目のコマンドが_アクション_であるためです。The reason for this is that the first command is a transformation while the second one is an action. 変換は_レイジー_であり、アクションの実行時にのみ実行されます。Transformations are lazy and run only when an action is run. これにより、Spark はコマンドを順番に実行するのではなく、パフォーマンスを最適化することができます (たとえば、結合の前にフィルターを実行します)。This allows Spark to optimize for performance (for example, run a filter prior to a join), instead of running commands serially. 変換とアクションの完全な一覧については、「Apache Spark のプログラミングガイド:変換アクション」を参照してください。For a complete list of transformations and actions, refer to the Apache Spark Programming Guide: Transformations and Actions.

データセットの Azure Databricks Azure Databricks datasets

Azure Databricks には、ワークスペース内にさまざまなデータセットが含まれており、これを使用して、Spark またはテストアルゴリズムを学習できます。Azure Databricks includes a variety of datasets within the Workspace that you can use to learn Spark or test out algorithms. これらの情報は、ファーストステップガイドを通じて確認できます。You’ll see these throughout the getting started guide. データセットは、/databricks-datasets フォルダーにあります。The datasets are available in the /databricks-datasets folder.

Notebook Notebooks

これらのコード例にアクセスするには、次のように、Python またはクイックスタートを使用してスケールを使用してクイックスタートをインポートします。To access these code examples and more, import the Quick Start using Python or Quick Start using Scala notebooks.

Apache Spark クイックスタート Python notebookApache Spark Quick Start Python notebook

ノートブックを取得するGet notebook

Notebook クイックスタート Apache SparkApache Spark Quick Start Scala notebook

ノートブックを取得するGet notebook