Java Hadoop映射器输出到HBase表和一个reducer
我正在尝试编写一个MapReduce作业,它解析CSV文件,将数据存储在HBase中,并一次性执行reduce函数。理想情况下,我想Java Hadoop映射器输出到HBase表和一个reducer,java,hadoop,mapreduce,hbase,multiple-tables,Java,Hadoop,Mapreduce,Hbase,Multiple Tables,我正在尝试编写一个MapReduce作业,它解析CSV文件,将数据存储在HBase中,并一次性执行reduce函数。理想情况下,我想 映射器将良好记录输出到HBase表良好 映射器将坏记录输出到HBase表坏 Mapper使用一个键将所有良好的数据发送到reducer 还想更新第三个表,表明存在新数据。此表将包含有关数据和日期的基本信息。很可能每个CSV文件有一个或两个记录 我知道如何使用HBaseMultiTableOutputFormat执行1和2,但不确定如何执行3和4 任何关于如何做到这
MultiTableOutputFormat
执行1和2,但不确定如何执行3和4
任何关于如何做到这一点的建议都是非常感谢的
关于如何做到这一点,我有一些想法:
对于1和2,我将使用ImmutableBytesWriteable
作为键,并且MultiTableOutputFormat
负责从映射器存储。但是对于3,我希望关键是文本
对于#4,我是否应该在
- 映射器通过设置KeyValueTextInputFormat读取csv
- 在映射程序代码中,使用一些逻辑来区分好记录和坏记录,并使用put(Hbase Api调用)将它们放入Hbase中