Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
目的:Sparkでジョブ実行する時に性能を出したいです。
現状:AmazonEMRをSparkの実行場所と設定して実行していますが、性能はEC2(Remote engine)より悪いです。
システム環境 |
macOS Mojave 10.14.6 |
java環境 |
java version "1.8.0_241" |
Talend Studio |
Talend Cloud Real-Time Big Data Platform(7.2.1) |
Hadoop Cluster |
Amazon EMR 5.15.0(Hadoop 2.8.3) |
AWS Network |
local PCに対してport全開(in/out) |
Spark |
EMR(2.3.8) c5.2xlarge * 3 |
ジョブ設計とチューニングは添付ファイルのスクリーンショットに有ります。
実現プロセス:
①S3からファイルをダウンロードして、一行のファイルとして読み込んで
②tmapで処理して、一回S3にアップロードします。
③S3から一回ダウンロードをして(tFileInputDelimiated)、整列して、結果をS3にアップロードします。
改善の予想:
①現在実現プロセスの②〜③でS3をファイルシステムとして保存しています。これは毎回アップ・ダウンロードの時間がかかりますので、非効率だと思いますが、tCacheに変更するとエラーが出ます。
②Sparkチューニングはマニュアル*に従ってやっておりますが、性能は中々出ていなさそうです。
(添付ファイル"実行ログ"の中にAdded broadcast_2_piece0 in memory on ip-192-168-31-48.ap-northeast-1.compute.internal:41307 (size: 29.0 KB, free: 2004.5 MB)みたいな物が有りまして、これは2Gのメモリを無駄にしている認識です。)
質問内容:
①改善の予想の①はS3へのやりとりを内部か(tCache)で可能ですか。
②現在のEMRスペックは3 * (vcpu:8 memory:16G) ,Sparkのチューニングに最適化できる余地は有りますか。
③現在のプロセスについて、何か設計のいい案があれば共有していただきたいです。
マニュアル:https://help.talend.com/reader/QCJOUOG8NTPKbZl3tO4WzQ/3mB1OTnLOtIine6QDN5ccw
続きまして、ログの調査に入ります。
目標:現在Talend Cloudで実行したBigDataジョブのログを理解したいです。
現状:①ログの中に謎の待ち時間が発生しています。
②Cloud側でInfoレベルのログしか出ない状況です。
詳細;
現状はジョブコミットして、次の動作するまで謎の待ち時間が発生しております。
添付ファイルの色付け部分の待ち時間は現在理解しておりません。
質問:
①この待ち時間に具体的になにか発生していますか。
②Cloud側で実行したジョブの詳細ログの見方が有りますでしょうか。