我正在使用Hadoop并尝试使用两个数据集进行一些互动功能什么是最佳方案。我可以将其中一个加载到内存中,然后与其他数据集的map函数相交,但是如果数据集对RAM内存来说太大,这不是解决方案,那么您的想法是什么?使用Hadoop和两个数据集
感谢您的回答,我会试试看看最好的解决方案。
我正在使用Hadoop并尝试使用两个数据集进行一些互动功能什么是最佳方案。我可以将其中一个加载到内存中,然后与其他数据集的map函数相交,但是如果数据集对RAM内存来说太大,这不是解决方案,那么您的想法是什么?使用Hadoop和两个数据集
感谢您的回答,我会试试看看最好的解决方案。
您可以尝试将它们放入DistributedCache
- 在该页面上有一个很好的说明性示例。
分布式缓存非常适用于小型数据集,并可以考虑高速缓存在内存中。如果数据量很大,如您所述,分布式缓存不是一个选项。
Hadoop框架允许排序的大型数据集,但是,您可能必须遵循的步骤数,其中一项规定是,在此之前可以进行联接输入数据集必须进行排序。您可以考虑利用Apache Hive来实现这一点。如果蜂巢被排除了,在这个环节中提到的步骤应该可以帮助您开始为大型数据集
Configure Map Side join for multiple mappers in Hadoop Map/Reduce