将 Hadoop 作业的结果添加到 Hive Table

Adding results of Hadoop job to Hive Table

我有一个处理大型文本文件的仅限地图的作业。每行都经过分析和分类。 MultipleOutputs 用于将每个类别输出到单独的文件中。最终,所有数据都被添加到专用于每个类别的 Hive table 中。我当前的工作流程可以完成这项工作,但有点麻烦。我将添加几个类别,并认为我可以简化流程。我有几个想法,正在寻找一些意见。

当前工作流程:

  1. Map-only 作业将大文件分成几类。输出如下所示:
  1. 外部(非 Hadoop)进程将输出文件复制到每个类别的单独目录中。
  1. 为每个类别创建一个外部 table,然后将数据插入该类别的永久 Hive table。

可能的新工作流程

对于 MultipleOutputs,将输出路径设置为配置单元外部表所在的基本文件夹。 然后将数据写入"<table_name>/<filename_prefix>"。 您的数据将位于您的目标表中。