SequenceFile和Hadoop流媒体

SequenceFile和Hadoop流媒体,hadoop,hadoop-streaming,sequencefile,Hadoop,Hadoop Streaming,Sequencefile,我有一个用例,其中我使用hadoop流来运行一个可执行的映射进程。在输入端,我有大量的序列文件。每个seq文件都有8个键和相应的值,它们是浮点数组的列表。我宁愿将一组seq文件分配给一个map进程,而不是让一个map进程来处理一个seq文件。因此,我决定将所有这些seq文件合并成一个大文件。假设这个大的seq文件由50000个小的seq文件组成 现在,是否可以配置我的hadoop流媒体实用程序来为每个映射进程分配一部分seq文件 如何使每个映射进程获得需要处理的文件名列表?如何在地图可执行文件中

我有一个用例,其中我使用hadoop流来运行一个可执行的映射进程。在输入端,我有大量的序列文件。每个seq文件都有8个键和相应的值,它们是浮点数组的列表。我宁愿将一组seq文件分配给一个map进程,而不是让一个map进程来处理一个seq文件。因此,我决定将所有这些seq文件合并成一个大文件。假设这个大的seq文件由50000个小的seq文件组成

现在,是否可以配置我的hadoop流媒体实用程序来为每个映射进程分配一部分seq文件

如何使每个映射进程获得需要处理的文件名列表?如何在地图可执行文件中检索这些信息?可执行文件是设计用于处理stdin的纯groovy脚本。在这种情况下,我的stdin将是什么样子?如何确定键/值对,以及它们的内容是什么 或者,由于我合并了序列文件,它们变成了一个大文件,并且失去了各自的身份,这意味着我不能拥有它们的文件名,我需要处理一堆序列文件的键/值

我认为,这个大的seq文件将具有key/value,其中key是filename,value是该文件的内容,而该文件又包含8个键和相应的值?如果是这样的话,当hadoop根据可能的映射数(比如我的集群中可能有10个映射)拆分这个大文件时,每个映射将获得大约5000个键和相应的值?然后,在map exec中,如何访问这些键和值

任何暗示都会大有帮助