生成数据
生成数据这一模式有趣的地方在于,它是凭空、并行地生成数据,而不是从外部的某个地方加载数据。
动机
常见的用例是生成随机数据。
结构
在Hadoop中实现该模式,需要实现一个自定义的InputFormat并且让RecordReader生成随机数据。map函数完全不关注数据的来源,因此数据可以凭空生成而不需要从HDFS中加载一些文件。大部分情况下,这里使用identity mapper就很好,但是你也可能想在map任务中做一些后处理工作,或者甚至想立即分析它。 这个模式只有map的:
- InputFormat凭空创建虚split。创建的split个数应该是可以配置的。
- RecordReader读入虚split并根据它生成随机记录。
- 在某些情况下,你能够在输入split中赋予一些信息,告诉record reader生成什么。
- 在大部分情况下,IdentityMapper仅仅将读入的数据按原样输出。