hadoop - 使用Hadoop匹配大型数据集?

标签 hadoop

如果hadoop是解决我遇到的问题的正确工具,我很想知道。

我正在构建与2个数据集相匹配的脱机流程(每月一次或一个季度一次):A和B。
数据集A位于Oracle上,数据集B是XML文件。数据集A大约有2000万条记录,数据集B则有600万条记录。
每个记录代表一首音乐歌曲,并具有以下格式:

song {
  songid:

  // type of string , avg_num_of_titles_per_song=1.4 , std_deviation=1.9
  titles:[] 

  // type of string  avg_num_of_performers_per_song=1.5 std_deviation=0.9
  performers:[] 
}

如果满足以下条件,则两个记录匹配:
-使用完全比对或语音算法或距离算法,至少进行一次标题匹配
-至少使用相同的算法进行表演者比赛:精确,语音,距离等(我们仍在评估匹配算法)

此过程的输出是2个数据集:
(1)单次匹配,其中A中的记录在B中仅匹配一次,而B中的相同记录在A中仅匹配一次。
(2)多次比赛

hadoop是完成这项工作的合适工具吗?

谢谢。

最佳答案

它应该工作。但是,您的数据集不足以证明使用hadoop是合理的。您可能只可以在单个强大的服务器上运行它。您需要做的是首先将较小的数据集放入distcache中,以均匀地分布在不同的节点上,然后可以将第二个较大的数据集从oracle数据库中拉出并上传到HDFS中。然后启动将匹配两个数据集的 map 作业。产生输出只是标准的map-reduce编程。

关于hadoop - 使用Hadoop匹配大型数据集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2372333/

相关文章:

hadoop - 在配置单元中添加UDF时出错

python - 在python中更改用户

hadoop - 如何将本地 Hadoop 配置精确模拟到 GCP Dataproc

hadoop - 在hadoop中保存和访问类似表的数据结构

java - 如何使用 JDBC 驱动程序 0.13.0 在 Hive 中设置 FetchSize

hadoop - 如何从配置单元中的特定存储桶中检索数据

hadoop - 从 PIG 包中提取元组

java - Pig Latin用户定义功能中的HDFS路径

hadoop - Hadoop的putmerge在运行中不起作用

hadoop - HBase如何实现对HDFS的随机访问?