1
1
如果您希望避免每次运行映射步骤,请将其作为自己的步骤(使用IdentityReducer或将作业的Reducer数设置为0),然后使用映射步骤的输出运行后续步骤。 这是否比每次从原始数据重新计算要快,取决于输入数据的体积和形状与输出数据的对比,以及映射步骤的复杂程度等。
请注意,在新的数据集上运行映射器不会附加到以前的运行中,但您可以通过使用一个有日期的输出文件夹来绕过这一点。也就是说,您可以将映射第一批文件的输出存储在
|
2
1
为什么不在不同的环境中应用您的SQL工作流?也就是说,在输入表中添加一个“已处理”列。当运行摘要时,运行类似以下内容的管道: map(map_函数)on(输入表过滤!已处理);存储到映射输出中,可以是hbase,也可以是hdfs。 映射(减少功能)到(映射输出);存储到HBase中。 如果您将数据存储在按插入日期排序的HBase中,并且在某个地方记录成功的摘要运行的时间戳,并对日期晚于上一次成功摘要的输入打开筛选器,则可以使生活变得更轻松一点,这样可以节省一些重要的扫描时间。 下面是一个有趣的演示,展示了一家公司如何构建其工作流(尽管他们不使用HBase): http://www.scribd.com/doc/20971412/Hadoop-World-Production-Deep-Dive-with-High-Availability |
Kiddo · 合并多个文本文件,但跳过每个文件的第一行和最后一行 6 年前 |
user7039042 · 键入内容时意外的批处理程序 7 年前 |
Souparno Adhikary · PBS通信错误:节点无法通信 7 年前 |