2017-06-06 2 views
2

スケーリングジョブは9マップ削減ジョブ(m/rジョブ)に変換されます。各m/rジョブが表すコードの部分を理解することは容易ではありません。私の仕事をより良く理解するのに役立つものはありますか?スケーリングジョブのステップを視覚化する方法

//これはTapadの私たちの内部wikiから貼り付けられたコピー&です。お気軽にあなたの経験を共有してください!

答えて

2

スケーリングは.dot形式のジョブグラフを生成できます。それはby this codeをトリガーしました。手順は次のとおりです。

sbt 
project mapreduce 

run-main com.twitter.scalding.Tool com.company.YourJobClass \ 
    --tool.graph \ 
    --hdfs 
    --arg1 value_1 
    --arg2 value_2 

生成される2つのファイルの末尾が.dotである必要があります。それらはテキストファイルです。 1つは、あなたの仕事で使用されるすべてのカスケード関数の非常に詳細なグラフです。 _steps.dotで終わるもう1つのファイルは、m/rジョブのグラフです。あなたの好きなエディタでそれらを開き、ノードとその接続を探してみてください。

graphvizを使用して.dotからpdfまたはpngファイルを生成することは可能です。ここでの手順は以下のとおりです。

#if you don't have graphviz installed you can get it from brew on mac 
brew install graphviz 

#generate a pdf file 
dot myjob_steps.dot -Tpdf myjob_steps.pdf 

#generate a png file (could be huge!) 
dot myjob_steps.dot -Tpng myjob_steps.png 

ボーナス先端:各m/Rジョブがあなたのコードである場合を把握することは依然として困難である可能性があります。あなたのコードに説明を追加すると、それらをmyjob_steps.dotファイルに追加します。この機能を試して、.dotファイルを再生成してください。これは、.pdfファイルを生成する必要はありません。あなたは好きなエディタでmyjob_steps.dotを開き、searchを使ってコードをマークアップするための説明を見つけることができます。例はthe scalding repoです。

1

私はこれにSahaleを使用しています。セットアップは非常に簡単でしたが、注意深い点として、scala 2.11.xとscalating 0.16.x(この記事の時点で)で動作するように見えるだけでした。これは、ジョブに関連する行番号をスケーリングしてMapReduceジョブフローを視覚化します。これはデータベースベースのWebアプリケーションであるため、以前の実行を保存し、開発中にジョブのパフォーマンスを追跡できます。 IntelliJから追跡されたジョブを実行すると、一部のメトリックが表示されませんが、実際のクラスタで作業を実行するとすべてが表示されます。

このarticleは、サハレが何をしているのかをよく知っています。

+1

チップをありがとう!カスケードから駆動されているようですが、同様の機能があります。私はクラスター上で実行せずに自分の仕事について何らかの説明をするための素早い方法を探していました。これは 'tool.graph'が便利です。 – Oleksii

関連する問題