我正在使用 Hadoop 并尝试使用两个数据集创建一些交互功能,这是最好的场景。我可以将一个加载到内存中,然后在地图函数中与其他数据集相交,但是如果数据集对于 RAM 内存来说太大,这不是一个解决方案,你有什么想法?
感谢您的回答,我会尝试这些,看看什么是最好的解决方案。
我正在使用 Hadoop 并尝试使用两个数据集创建一些交互功能,这是最好的场景。我可以将一个加载到内存中,然后在地图函数中与其他数据集相交,但是如果数据集对于 RAM 内存来说太大,这不是一个解决方案,你有什么想法?
感谢您的回答,我会尝试这些,看看什么是最好的解决方案。
您可以尝试将它们放入DistributedCache
- 该页面上有一个很好的说明性示例。
分布式缓存适用于小数据集,可以考虑缓存在内存中。如您所述,如果数据很大,则不能选择分布式缓存。
Hadoop 框架允许对大型数据集进行排序,但是,您可能必须遵循多个步骤,其中要求之一是输入数据集必须在进行连接之前进行排序。您可以考虑为此利用 Apache Hive。如果 Hive 被排除在外,此链接中提到的步骤应该可以帮助您开始处理大型数据集