メインコンテンツまでスキップ

Databricks 上の Apache Spark

Apache Spark Databricksデータ インテリジェンス プラットフォームの中心であり、コンピュート クラスターとSQLウェアハウスを強化するテクノロジーです。 Databricks は、Apache Spark ワークロードを実行するための効率的でシンプルなプラットフォームを提供する、Apache Spark 向けに最適化されたプラットフォームです。

Apache Spark と Databricks の関係は何ですか?

Databricks 社は、Apache Spark のオリジナル作成者によって設立されました。オープンソース ソフトウェア プロジェクトである Apache Spark には、Databricks を含む多くのトップ企業がコミッターとして参加しています。

Databricks は、Apache Spark の機能の開発とリリースを続けています。Databricks を強化する Databricks Runtime には、Apache Spark に基づいて構築および拡張された追加の最適化機能と独自の機能が含まれており、その中には Spark と組み合わせて使用できる最適化された実行レイヤーであるPhotonも含まれます。Databricks Photon は、Apache Spark ワークロードと連携してパフォーマンスを向上させるように設計されています。Photon はクエリやその他の操作をベクトル化することで Spark のパフォーマンスを向上させ、SQL および DataFrame API 操作の実行を高速化します。

Databricks は Apache Spark 向けにどのように最適化されていますか?

Apache Spark では、すべての操作は変換またはアクションのいずれかとして定義されます。

  • 変換 : プランに処理ロジックを追加します。例としては、データの読み取り、結合、集計、型キャストなどが挙げられます。
  • アクション : 処理ロジックをトリガーして結果を評価および出力します。例としては、書き込み、結果の表示またはプレビュー、手動キャッシュ、行数の取得などが挙げられます。

Apache Spark は 遅延実行 モデルを使用します。つまり、アクションがトリガーされるまで、操作のコレクションによって定義されたロジックは評価されません。不要なロジックの評価を避けるには、結果をターゲット テーブルに保存するアクションのみを使用します。

アクションはロジックの最適化における処理のボトルネックとなるため、Databricks は Apache Spark に既に存在する最適化に加えて、最適なロジック実行を保証するためのさまざまな最適化を追加しました。これらの最適化では、特定のアクションによってトリガーされるすべての変換を一度に考慮し、データの物理的なレイアウトに基づいて最適なプランを見つけます。本番運用パイプラインでデータを手動でキャッシュしたり、プレビュー結果を返したりすると、これらの最適化が中断され、コストと遅延の増加につながる可能性があります。

Apache Spark は Databricks 上でどのように動作しますか?

Databricksにコンピュート クラスターまたはSQLウェアハウスをデプロイすると、 Apache Sparkが構成され、仮想マシンにデプロイされます。 Spark コンテキストまたは Spark セッションは Databricks によって管理されるため、構成または初期化する必要はありません。

Apache Spark を使用せずに Databricks を使用できますか?

はい。Databricks はさまざまなワークロードをサポートしており、Databricks Runtime にはオープンソース ライブラリが含まれています。Databricks SQL は内部的にPhotonを使用しますが、エンド ユーザーは Spark SQL 構文を使用して、Photon でデータベース オブジェクトを作成およびクエリできます。

Databricks機械学習ランタイムはML データサイエンティストワークロード向けに最適化されており、多くのデータサイエンティストがTensorFlowやScikit-Learnのような主要なオープンソールライブラリをDatabricksで使用しています。ジョブを使用して、Databricksによってデプロイおよび管理されるコンピュート リソースに対して任意のワークロードをスケジュールできます。

Databricks で Apache Spark を使用する理由は何ですか?

Databricks プラットフォームは、ビジネスに合わせて拡張できるエンタープライズ ソリューションを開発および展開するための、安全で共同的な環境を提供します。Databricks の従業員には、世界で最も知識豊富な Apache Spark のメンテナーやユーザーが多数含まれています。同社は、ユーザーが Apache Spark を実行するための最速の環境にアクセスできるように、新しい最適化を継続的に開発およびリリースしています。

Databricks での Apache Spark の使用について詳しく知るにはどうすればよいですか?

Databricks で Apache Spark を使い始めるには、今すぐ始めましょう。Apache Spark DataFrames チュートリアルでは、Python、R、または Scala でのデータの読み込みと変換について説明します。「チュートリアル: Apache Spark DataFrames を使用してデータをロードおよび変換する」を参照してください。その他のガイドと追加情報へのリンクについては、 「Apache Spark on Databricks」を参照してください。

SparkにおけるPython、R、Scalaの言語サポートに関する追加情報については、Scala開発者向けDatabricks DatabricksにおけるPySparkSparklyr、およびApache Spark APIのリファレンスを参照してください。