次の方法で共有


Azure Databricks 上の Apache Spark

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

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

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

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

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

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

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

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

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

Azure Databricks での Apache Spark のしくみ

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

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

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

Machine Learning 用 Databricks Runtime は ML ワークロード用に最適化されており、多くのデータ サイエンティストは、Azure Databricks での作業中に TensorFlow や SciKit Learn などのプライマリ オープン ソース ライブラリを使用します。 ジョブを使用して、Azure Databricks によってデプロイおよび管理されるコンピューティング リソースに対して任意のワークロードをスケジュールできます。

Azure Databricks で Apache Spark を使用する理由

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

Azure Databricks での Apache Spark の使用の詳細については、どうすればよいですか?

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

Spark での Python、R、Scala 言語のサポートの詳細については、Scala 開発者向けの Azure DatabrickssparklyrAzure Databricks の PySpark と Apache Spark API のリファレンスを参照してください。