web-dev-qa-db-ja.com

Google Cloud DataflowとGoogle Cloud Dataprocの違いは何ですか?

Googleデータフローを使用して、ETLデータウェアハウスソリューションを実装しています。

Googleクラウドサービスを検討すると、DataProcでも同じことができるようです。

また、DataProcはDataFlowよりも少し安いようです。

誰もDataProc上のDataFlowの長所/短所を知っていますか

なぜGoogleは両方を提供するのですか?

27
KosiB

はい。CloudDataflowとCloud Dataprocの両方を使用して、ETLデータウェアハウジングソリューションを実装できます。

これらの各製品が存在する理由の概要は、Googleで見つけることができます クラウドプラットフォームビッグデータソリューションの記事

クイックテイクアウト:

  • Cloud Dataprocは、GCP上のHadoopクラスターと、Hadoopエコシステムツール(Apache Pig、Hive、Sparkなど)へのアクセスを提供します。すでにHadoopツールに精通していて、Hadoopの仕事をしている場合、これは大きな魅力があります。
  • Cloud Dataflowは、GCPで Apache Beam ベースのジョブを実行する場所を提供します。クラスターでジョブを実行する一般的な側面に対処する必要はありません(作業の分散、ワーカー数のスケーリングなど)ジョブの場合、デフォルトでは、これは自動的に管理され、バッチとストリーミングの両方に適用されます)-他のシステムでは非常に時間がかかる可能性があります
    • Apache Beamは重要な考慮事項です。ビームジョブは、Cloud Dataflowを含む「ランナー」間で移植可能であり、「ランナー」の仕組みではなく、論理計算に集中できるようにすることを目的としています。これに対し、Sparkジョブ、コードはランナー、Spark、およびそのランナーの動作にバインドされています
    • Cloud Dataflowは、「テンプレート」に基づいてジョブを作成する機能も提供します。これにより、差異がパラメーター値である一般的なタスクを簡素化できます。
28
Andrew Mo

DataprocとDataflowを選択する際に考慮すべき3つの主なポイントを次に示します。

  • プロビジョニング
    Dataproc-クラスターの手動プロビジョニング
    データフロー-サーバーレス。クラスターの自動プロビジョニング

  • Hadoop依存関係
    処理がHadoopエコシステムのツールに依存する場合は、Dataprocを使用する必要があります。

  • 移植性
    データフロー/ビームは、処理ロジックと基礎となる実行エンジンを明確に分離します。これは、Beamランタイムをサポートするさまざまな実行エンジン間での移植性に役立ちます。つまり、同じパイプラインコードをDataflow、SparkまたはFlinkでシームレスに実行できます。

グーグルのウェブサイトからのこのフローチャートは、一方をもう一方よりも選択する方法を説明しています。

Dataproc vs Dataflowhttps://cloud.google.com/dataflow/images/flow-vs-proc-flowchart.svg

詳細については、以下のリンクをご覧ください
https://cloud.google.com/dataproc/#fast--scalable-data-processing

13

DataprocがHadoopとSparkの両方を提供する理由と同じ理由:1つのプログラミングモデルがジョブに最適な場合もあれば、他のプログラミングモデルが最適な場合もあります。同様に、場合によっては、ジョブに最適なのは、Dataflowが提供するApache Beamプログラミングモデルです。

多くの場合、特定のフレームワークに対して記述されたコードベースが既にあり、Google Cloudに展開したいだけなので、たとえば、BeamプログラミングモデルがHadoopより優れている場合でも、多くのHadoopコードは、Beamでコードを書き換えてDataflowで実行するのではなく、当面はまだDataprocを選択する可能性があります。

SparkとBeamプログラミングモデルの違いは非常に大きく、それぞれが他のモデルよりも大きな利点を持っているユースケースがたくさんあります。 https://cloud.google.com/dataflow/blog/dataflow-beam-and-spark-comparison を参照してください。

5
jkff

Cloud DataprocとCloud Dataflowは両方ともデータ処理に使用でき、バッチ機能とストリーミング機能には重複があります。環境に適した製品を決定できます。

Cloud Dataprocは、特定のApacheビッグデータコンポーネントに依存する環境に適しています:-ツール/パッケージ-パイプライン-既存のリソースのスキルセット

Cloud Dataflowは、通常、グリーンフィールド環境に適したオプションです。 Cloud Dataflow、Apache Spark、Apache Flinkのランタイムとしてのパイプラインの移植性。

詳細はこちらをご覧ください https://cloud.google.com/dataproc/

価格比較:

より多くのGCPリソースのコストを計算して比較する場合は、このURLを参照してください https://cloud.google.com/products/calculator/

0
Le Khiem