[2020年7月] Google Cloud Certified – Professional Data Engineer日本語版(プロ認定):Dataprocまとめ
どうも、すえきあおいです。模試でよく出てきたオンプレからGCPへのインフラ移行(Hadoop→Dataproc)についてまとめました。
あ、私はProfessional Data Engineerの資格を取るため勉強中のへっぽこSEです。ちなみに試験は7/29。あと23日です。(これは予定投稿なので、記事を書いている時と公開日時にはタイムラグがあります)
カウントダウン怖いw
GCP版Hadoop、Dataprocとは?
すごく簡単にいうと、オンプレでよくあるHadoopとかApache Spark のような「巨大なデータを分散処理するフレームワーク」でやってることを、クラウド(ここではGCP)でやりたい時に使うサービス。
以下の種類のジョブが自動的にサポートされます。
- Hadoop:元祖巨大データ分散処理フレームワーク
- Apache Spark:Hadoopの進化版
- Apache Hive:Hadoop上で動作するソフトウェア。Hadoop用のSQLを実行するためのソフト。みたいな。
- Apache Pig:Hiveの進化版
Dataprocに関する暗記ポイント
- Dataprocは、マネージドサービスである
Google Cloud には、Hadoop と Spark のマネージド環境である Dataproc が含まれています。Dataproc を使用すると、ほとんどの既存のジョブを実行する際の変更を最小限にとどめることができ、使い慣れた Hadoop ツールを引き続きご利用いただけます。
- クラスタに永続的なHDFSを配置することは非推奨
Dataproc を使用してデータを永続 HDFS クラスタに保持すると、Cloud Storage にデータを保存するよりもコストがかかります。
- クラスタはジョブ固有にすることを推奨
ジョブのスコープが適切に定義されていて、それらのジョブにのみ個別のクラスタ構成を使用する場合は、エフェメラル(=一時的な)クラスタの設定を更新する方がはるかに簡単です。
使ったことなくてもココだけは抑えたい、Dataprocの特徴
Hadoop システムを Google Cloud に移行するための最も費用対効果が高く柔軟な方法は、大規模で多目的かつ永続的なクラスタの観点から考えるのではなく、特定のジョブを実行するように設計された、小規模な短期間のクラスタについて考えることです。
この方法では、データを Cloud Storage に保存して、複数の一時的な処理クラスタに対応します。
ジョブを処理するクラスタが必要に応じて割り当てられ、ジョブが完了すると解放されるため、このモデルはエフェメラル モデルといわれます。
つまり、Hadoopのジョブをそのまま一つのDataprocクラスタに割り当ててデータもクラスタにぶっ込んじゃってHadoopぽく使うのが手っ取り早いしできないことはないけど、長い目で管理の手間とか費用とか考えると、ちゃんと設計し直した方がいいぜよ、と言っている。
データはStorageに持たせて、Dataprocはエフィメラル(一時的な)クラスタで処理させましょうと。ジョブも小規模に分けて、できるだけ分散させましょうと。
リンクまとめ
GCPプロ認定資格の試験に関する記事はこちら。
[2020年7月] Google Cloud Certified – Professional Data Engineer日本語版(プロ認定):遠隔監視(オンライン)試験の申し込み方
[2020年7月] Google Cloud Certified – Professional Data Engineer日本語版(プロ認定):模擬試験の受け方
GCPプロ認定資格の試験勉強まとめ記事はこちら。
[2020年7月] Google Cloud Certified – Professional Data Engineer日本語版(プロ認定):暗記ポイント、意味不明単語リストの解説など
オンプレからGCPへのデータ移行に関する記事はこちら。
ここは試験に出そうなので、一通り読んで理解しといた方がいい。逆に、これが理解できるように単語の意味とかもセットで頭に入れたら、結構な点が稼げそうな予感がします。私が読んでわかんなかった単語などは私にもわかるレベルにかみ砕いて後述したので、よかったらご参考に。
(公式)オンプレミスの Hadoop インフラストラクチャを Google Cloud に移行する
それでは!