我正在使用Hadoop并尝试使用两个数据集进行一些交互功能,这是最好的方案。我可以将一个加载到内存中,然后在map函数中与其他数据集相交,但如果数据集对于RAM内存来说太大,那么它不是解决方案,您有什么想法?
感谢您的回答,我将尝试这些,看看哪种解决方案最好。
答案 0 :(得分:0)
您可以尝试将它们放入DistributedCache
- 该页面上有一个很好的说明性示例。
答案 1 :(得分:0)
分布式缓存适用于小型数据集,可考虑在内存中缓存。如果数据很大,则不像您提到的那样,分布式缓存不是一种选择。
Hadoop框架允许对大型数据集进行排序,但是,您可能必须遵循多个步骤,其中一个要求是,必须在进行连接之前对输入数据集进行排序。您可以考虑利用Apache Hive进行此操作。如果排除Hive,此链接中提到的步骤应该可以帮助您开始使用大型数据集
Configure Map Side join for multiple mappers in Hadoop Map/Reduce
答案 2 :(得分:0)