cascading - 如何可视化烫烫作业的步骤

标签 cascading scalding

我的烫金作业被翻译成 9 个 MapReduce 作业(m/r 作业)。对我来说理解每个 m/r 作业代表代码的哪一部分并不容易。有什么可以帮助我更好地了解我的工作吗?

//这是从 Tapad 的内部 wiki 复制并粘贴的。欢迎分享您的经验!

最佳答案

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

您应该生成 2 个以 .dot 结尾的文件。它们是文本文件。一张是您的工作使用的所有级联函数的非常详细的图表。另一个以 _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 中找到示例.

关于cascading - 如何可视化烫烫作业的步骤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44398635/

相关文章:

hadoop - 使用Hadoop级联更改架构

scala - 函数式编程(尤其是 Scala 和 Scala API)中的 reduce 和 foldLeft/fold 之间的区别?

scala - 烫伤:从单独的文件中添加特征

scalding - Scalding 是否支持通过谓词下推 w/Parquet 进行记录过滤?

scala - 创建像 TextLine 这样的 Scalding Source,将多个文件组合成单个映射器

scala - 使用 Scalding 的 HBase 到 Hive 示例

java - 如何读取由特殊字符分隔的hadoop中的文本源

amazon-s3 - 未使用 SinkMode.REPLACE 删除级联 S3 Sink Tap

java - 级联求和运算

java - 级联的wordcount Java任务抛出nullPointErexception