gpt4 book ai didi

azure - 运行 HDInsight 作业指南

转载 作者:可可西里 更新时间:2023-11-01 15:17:08 26 4
gpt4 key购买 nike

有关 HDInsight 作业方法的几个问题。

1) 如何安排 HDInsight 作业?有现成的解决方案吗?例如,如果我的系统将不断收集大量新的输入文件,我们需要在这些文件上运行映射/归约作业,那么建议的方法是什么来实现持续处理?

2) 从价格角度考虑,建议在没有作业运行时删除 HDInsight 群集。据我了解,如果我们决定每天运行该作业,就没有办法自动化这个过程吗?这里有什么建议吗?

3) 有没有办法确保相同的文件不会被处理多次?您如何解决这个问题?

4)我可能错了,但看起来每个 hdinsight 作业都需要一个新的输出存储文件夹来存储 reducer 结果。合并这些结果以使报告始终适用于整个数据集的最佳实践是什么?

最佳答案

好吧,里面有很多问题!我希望能得到一些快速答案。

  1. HDInsight 中并没有真正安排作业提交的方法,但您当然可以安排一个程序来为您运行作业提交。根据您的工作流程,Oozie 可能值得一看,它在 HDInsight 上运行可能有点尴尬,但应该会有所帮助。

  2. 在价格方面,我建议如果您不使用集群,则应销毁它并在需要时将其重新带回来(这些计算时间确实会增加!)。请注意,这将丢失 HDFS 中的所有内容,这些内容主要是中间结果,asv 存储中保存的任何输出或输入数据都将保留在 Azure 存储帐户中。您当然可以使用 CLI 工具或 CLI 工具使用的其余界面来自动执行此操作。 (请参阅我对 Hadoop on Azure Create New Cluster 的回答,第一个已过时)。

  3. 我会通过确保每个文件只提交一次作业来做到这一点,并依靠 Hadoop 来处理重试和可靠性方面,因此无需管理应用程序中的任何重试。

  4. 一旦获得初始流程的输出,如果您想将它们减少为单个输出以进行报告,最佳选择可能是使用输出作为输入的辅助 MapReduce 作业。

    如果您不关心各个中间作业,则可以通过作业链将它们直接链接到一个 MapReduce 作业(可以包含任意数量的映射和化简步骤),请参阅 Chaining multiple MapReduce jobs in Hadoop一个基于java的例子。遗憾的是,.NET API 目前不支持这种形式的作业链。

    但是,如果您的情况允许使用Reducer->Combiner 方法,您也许可以只使用ReducerCombinerBase 类。

关于azure - 运行 HDInsight 作业指南,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18515850/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com