コンテンツに移動
Google Cloud

Apache Hadoop を Dataproc に移行: 移行計画をサポートするディシジョン ツリー

2021年3月5日
https://storage.googleapis.com/gweb-cloudblog-publish/images/Decision-Tree-Apache-Hadoop-to-Google-Clou.max-2000x2000.jpg
Google Cloud Japan Team

※この投稿は米国時間 2021 年 2 月 24 日に、Google Cloud blog に投稿されたものの抄訳です。

Apache Hadoop エコシステムを使用していますか?既存のツールを使い続けながら、リソース管理を簡素化したいとお考えですか?「はい」とお答えになるなら、ぜひ Dataproc をお試しください。このブログ投稿では、Dataproc についての簡単な概要と、Apache Hadoop ワークフローを Google Cloud に移行するための 4 つのシナリオについてご説明します。

Dataproc とは

Dataproc は、オープンソースのデータツールを利用してバッチ処理、クエリ実行、ストリーミング、機械学習を行えるマネージド Apache Spark / Apache Hadoop サービスです。現在 Apache Hadoop エコシステムを使用しており、これを管理するためのより簡単なオプションをお探しであれば、Dataproc をおすすめします。Dataproc の自動化機能を利用すると、クラスタを速やかに作成し、簡単に管理して、必要ないときには無効にして費用を節約できます。管理にかかる時間と費用が削減されるので、最も重要なデータに集中できます。

Dataproc の主な機能

Dataproc はオンデマンドで Hadoop クラスタをインストールし、シンプルで迅速、かつ費用対効果に優れた方法で分析情報を取得します。従来のクラスタ管理作業を簡素化し、数秒でクラスタを作成します。Dataproc には、次の主要機能が含まれます。

  • 30 以上の OSS ツールを含む、Hadoop と Spark エコシステムにおけるオープンソース ツールのサポート

  • 必要に応じてスケールアップやスケールダウンができるカスタマイズ可能な仮想マシン

  • オンデマンドのエフェメラル クラスタによるコスト削減

  • 他の Google Cloud の分析やセキュリティ サービスとの緊密な統合

Dataproc の仕組み

Hadoop / Spark ジョブを Dataproc に移行するには、データを Google Cloud Storage にコピーし、ファイルパスを HDFS から GS に更新するだけです。

詳細については、次の動画をご覧ください。

Video Thumbnail

Dataproc はストレージとコンピューティングを分離します。たとえば、分析対象のログが外部アプリケーションから送信され、これをデータソースに保存するとします。Cloud Storage のデータは Dataproc により処理され、その後再び Cloud Storage や BigQuery、Bigtable に保存されます。また、そのデータをノートブックでの分析に使用して、ログを Cloud Monitoring や Cloud Logging に送信することもできます。

ストレージが分離されているため、長期運用クラスタでは、ジョブごとに 1 つのクラスタを使用できます。コスト削減にあたり、ラベルでグループ化され選択されたエフェメラル クラスタを使用することも可能です。もちろん、アプリケーションのニーズに合わせて適切な量のメモリ、CPU、ディスクを使用することでもコストを削減できます。

考慮すべき移行シナリオ

ここで、Hadoop クラスタを Dataproc に移行する際の方法を決めるのに役立つ 4 つの一般的なシナリオについてご紹介します。

  1. NoSQL ワークロードを移行しようとしていますか?

  2. ストリーミング データを処理していますか?

  3. インタラクティブなデータ分析またはアドホック クエリを行っていますか?

  4. ETL またはバッチ処理を行っていますか?

https://storage.googleapis.com/gweb-cloudblog-publish/images/Decision-Tree-Apache-Hadoop-to-Google-Clou.max-2000x2000.jpg

質問 1: NoSQL ワークロードはありますか?

https://storage.googleapis.com/gweb-cloudblog-publish/images/Screen_Shot_2021-02-23_at_9.52.18_AM.max-1200x1200.png

HBase を使用している場合、Phoenix で共同プロセッサもしくは SQL を使用する必要があるかどうかを確認します。これらが必要な場合は、Dataproc は最適な選択肢です。共同プロセッサや SQL が必要でない場合は、Bigtable が適しています。

質問 2: ストリーミング データを処理していますか?

https://storage.googleapis.com/gweb-cloudblog-publish/images/Screen_Shot_2021-02-23_at_9.53.40_AM.max-1300x1300.png

Apache Beam を使用している場合、Dataflow を使用するのが合理的といえます。なぜなら、Beam SDK に基づいているからです。Spark あるいは Kafka を使用している場合は、Dataproc が適しています。

質問 3: インタラクティブなデータ分析またはアドホック クエリを行っていますか?

https://storage.googleapis.com/gweb-cloudblog-publish/images/q3.max-1400x1400.png

インタラクティブなノートブックを使用して Spark でインタラクティブなデータ分析を行っている場合、Dataproc は Jupyter Notebook や Zeppelin との組み合わせに最適です。なお、Hive や Presto で SQL を使用してデータ分析を行っていて、その方法を維持する場合にも Dataproc は適しています。ただし、インタラクティブなデータ分析に向けたマネージド ソリューションに関心がある場合は、BigQuery を検討されることをおすすめします。BigQuery は、フルマネージドのデータ分析に対応したデータ ウェアハウジング ソリューションです。

質問 4: ETL またはバッチ処理を行っていますか?

https://storage.googleapis.com/gweb-cloudblog-publish/images/q4.max-1400x1400.png

MapReduce、Pig、Spark、Hive を使用して ETL やバッチ処理を実行している場合は、Dataproc を使用します。また、Apache Airflow や Oozie のようなワークフロー オーケストレーション ツールを使用していて、ジョブをそのまま維持する場合にも Dataproc が最適です。ただし、マネージド ソリューションを使用する場合は、Apache Airflow により管理される Cloud Composer をご確認ください。

まとめ

Apache Hadoop クラスタを Google Cloud に移行する計画を立てる際に役立つ、4 つのさまざまなシナリオについてご紹介しました。

詳細については、Dataproc プロダクトのページをご覧ください。
#GCPSketchnote や同様の Cloud コンテンツの詳細については、Twitter や Instagram で @pvergadia をフォローしてください。thecloudgirl.dev もぜひご覧ください。

-Google デベロッパー アドボケイト Priyanka Vergadia

投稿先