クラスタとは何か?
メニューを表示するにはスワイプしてください
定義
Databricks における Compute(または Cluster)は、データエンジニアリング、データサイエンス、データ分析のワークロードを実行するためのコンピューティングリソースと構成の集合体。ノートブックやクエリを動かす「エンジン」として機能。
「作成」ボタンをクリックする前に、内部で何が起きているのかを理解する必要がある。前のセクションでは、Cluster を「エンジンルーム」と呼んだが、これはハードウェア的にはどういう意味か。
通常のアプリケーション(例:Excel)をノートパソコンで使う場合、その1台のコンピュータの性能に制限される。1億行のファイルを開こうとすると、ノートパソコンの「頭脳」では処理しきれず、Excel がクラッシュすることもある。Databricks はこれを 分散コンピューティング で解決。
レストランの例え
Cluster の仕組みを理解するために、忙しいレストランのキッチンを想像:
- Cluster はキッチンスタッフ全体
- Node は個々のシェフ
- CPU(中央処理装置) はシェフのスピード。CPU が高いシェフは野菜をとても速く刻める
- RAM(メモリ) はシェフの作業台の広さ。作業台が狭いと小さな皿しか扱えないが、広い(高RAM)と複雑な料理の材料を一度に並べられる
Databricks の Cluster には、作業をまとめる Driver Node(料理長)と、実際にデータ処理を行う Worker Node(ラインシェフ)が存在。
UIで表示される主な用語
クラスタを作成する際、いくつかの技術用語が表示されます。
- Worker Type(ワーカータイプ): シェフの「サイズ」を選択する項目です。作業台が広いシェフ(メモリ最適化)や、非常に高速なシェフ(コンピュート最適化)が必要かどうかを選びます。
- Runtime Version(ランタイムバージョン): クラスタの「実行環境」です。ここには、コードで使用するApache SparkやPythonのバージョンが含まれます。通常は、最新の「LTS」(長期サポート)バージョンを選択します。
- ノード数: これはキッチンにいるシェフの人数に相当。大規模な「ビッグデータ」処理には10人や20人の作業者が必要な場合もあるが、本コースや個人学習ではコストを抑えるため、通常はシングルノードモード(一人のシェフがすべての作業を担当)を使用;
- 自動終了: クラスターでは、指定した分数後に自動的に終了する時間を設定可能。コスト削減に非常に有効で、アイドル状態のクラスターでもDatabricksとクラウドプロバイダーの両方から課金されるため、常にこのポリシーを設定することが推奨される。例えるなら、シェフの勤務終了時間を決めておくようなもの;
- タグ: シェフたちは多くの材料やレシピを扱うため、料理ごとや顧客ごとに利用状況を把握できる必要がある。クラスターのタグは、後から利用時間やコストをラベルで検索できるようにする機能で、メタデータ分析に非常に役立つ。
なぜスケーリングが重要なのか
クラウドの利点は、これらの「シェフ」を購入する必要がないことです。秒単位でレンタルできます。5分で終わらせたい大規模な作業がある場合、100人のシェフ(ノード)を雇い、作業を終えたらすぐに「解雇」して支払いを止めることができます。これがDatabricksの効率性の核心です。
1. キッチンの例えで、RAM(メモリ)は何を表していますか?
2. Databricksクラスタにおける「ドライバーノード」の役割は何ですか?
3. なぜ学生は練習用に「シングルノード」クラスターを選ぶのでしょうか?
すべて明確でしたか?
フィードバックありがとうございます!
セクション 2. 章 2
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください
セクション 2. 章 2