web-dev-qa-db-ja.com

AWS GlueをEMRの代替品と見なすことはできますか?

AWS GlueはETLツールであるため、マスターから明確にするための簡単な質問です。スパークでの実行に加えて、サーバーのメンテナンスが最小限またはまったくないこと、リソースの過剰プロビジョニングまたはプロビジョニング不足を回避することによるコスト削減などのメリットを企業に提供できます。 AWS GlueがEMRを置き換えることができる場合、いくつかの説明を探していますか?

両方が共存できる場合、EMRはAWS Glueと共にどのように役割を果たすことができますか?

ありがとうございます。それでは、お元気で

ユバ

12
Yuva

私の理解によると、接着剤はEMRの代わりにはなりません。実際には、ユースケースによって異なります。接着剤ETLにはいくつかの制限があります。

  • --packagesはサポートしていません。
  • 一時データを保存するための内部ストレージがありません。

グルーカタログを使用すると、Athenaでデータを表示できますが、選択としてテーブルを作成できない、ビューを作成できないなどの制限もほとんどありません。EMRでグルーデータカタログを使用して、Athenaの制限を克服できます。

したがって、現在、接着剤は永続的なメタデータストアの代わりになることができます。

0
ctrl-c

これまでのところ、グルーでの経験では、十分な効果は得られませんでした。 EMRと比較して重要です。さらに、Glueにはライブラリ、一時保存などの制限がいくつかありました。さらに、GlueはSparkに座っていますが、コアSparkと同じようには動作しません。たとえば、1行のCSVファイルを読み取る、ヘッダーがない場合はファイル全体を無視する、など。

Glueがクエリの負荷に基づいてクラスターを動的に調整するかどうかについて、私はまだ調査中です。 sthが見つからない場合。よろしいです。より柔軟にEMRをシフトするように会社に依頼するつもりです。

2
ylcnky

ところで、Glue Jobにパラメーターを渡して、すべての組み込み構成を構成することもできます。
例.

--conf value: spark.yarn.executor.memoryOverhead=1024   
--conf value: spark.driver.memory=10g  

これは、グルージョブをより柔軟にするのに役立ちます。

1
esinik

実際には、通常のSparkジョブ「サーバーレス」をAWS Glueで実行できます。AWSGlueを自動スケールの「サーバーレススパーク」ソリューションとして使用しています。ジョブは、管理対象のAWSから割り当てられたクラスターを自動的に取得します= Sparkクラスタプール。AWSGlue SDKとGlueカタログは無視でき、自動生成されたスクリプトは通常のSparkコードに置き換えることができます。依存関係はパッケージ化できますS3にプッシュされます。

ただし、構成オプションは制限されています。スケーリングパラメーターは、WorkerTypeおよびNumberOfWorkers、またはマジックMaxCapacityに制限されています。クラスターサイズは、Glue SDKの外部で開かれたファイルに合わせて自動的にスケーリングされません。

CloudFormation構成スニペットの例:

  MyJob:                                                                                                                                                                                                
    Type: "AWS::Glue::Job"                                                                                                                                                                                     
    Properties:                                                                                                                                                                                                
      Command:                                                                                                                                                                                                 
        Name: "glueetl"                                                                                                                                                                                        
        ScriptLocation: "SOME_S3_MAIN_CLASS_LOCATION"
      AllocatedCapacity: 3
      DefaultArguments:                                                                                                                                                                                        
        "--job-language": scala                                                                                                                                                                                
        "--class": some.class.path.inside.jar.MyJob                                                                                                                                           
        "--enable-metrics": true                                                                                                                                                                               
        "--extra-jars": "SOME_S3_JAR_LOCATION"

その他の構成オプションは、Glue CloudFormationのドキュメントにあります: https://docs.aws.Amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job- defaultarguments

0
Turiphro

AWS GlueとAmazon EMR

この画像は、2つの違いを非常に明確に示しています。したがって、実際にはさまざまなレベルで異なることを考慮する必要があります。

ETLオペレーションを処理する能力を考慮して、AWS Glueに進むことをお勧めします。

AWS Glueは、ビッグデータ分析のための抽出、変換、およびロード操作を実行するように設計されています。 Amazon EMRは、他の多くのデータベース操作の中でも、ETL操作にも使用できます。

ただし、AWS GlueはETLのみのプラットフォームであるAmazon EMRよりも高速です。 AWS Glueはサーバーレスプラットフォームとして、運用上の柔軟性の点でEMR over Edgeを備えています。

https://www.knowledgenile.com/blogs/aws-glue-vs-emr/#Performance

0
MichaelF823