如何可视化烫伤工作的步骤

时间:2017-06-06 19:48:22

标签: cascading scalding

我的烫伤工作被转换为9个地图减少工作(m / r工作)。我不容易理解每​​个m / r作业所代表的代码部分。有什么能帮助我更好地理解我的工作吗?

//这是我们在Tapad的内部维基上复制和粘贴的。随意分享您的经验!

2 个答案:

答案 0 :(得分:4)

Scalding可以生成.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

您应该生成以.dot结尾的2个文件。它们是文本文件。一个是您的工作使用的所有级联功能的非常详细的图表。以_steps.dot结尾的另一个文件是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并使用搜索来查找用于标记代码的说明。您可以在the scalding repo中找到示例。

答案 1 :(得分:2)

我一直在使用Sahale。设置非常简单但有一点需要注意,它似乎只适用于scala 2.11.x和scalding 0.16.x(截至本文撰写时)。它使用与作业相关的烫印行号可视化MapReduce作业流程。由于它是一个数据库支持的Web应用程序,它存储以前的运行,您可以在开发时跟踪作业性能。当我从IntelliJ运行跟踪的作业时,有些指标会丢失,但是当我在真实集群上运行东西时,它们都会存在。

article很好地介绍了Sahale的所作所为。