【问题标题】:Matching large datasets using Hadoop?使用 Hadoop 匹配大型数据集?
【发布时间】:2019-08-07 03:44:09
【问题描述】:

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

我正在构建匹配 2 个数据集的离线流程(每月一次或每季度一次):A 和 B。 数据集 A 位于 Oracle 上,数据集 B 是一个 XML 文件。数据集 A 大约 20M 记录,数据集 B 大约 6M 记录。
每条记录代表一首音乐歌曲,格式如下:

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


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2013-03-15
      • 1970-01-01
      • 1970-01-01
      • 2020-11-21
      • 2011-02-10
      • 2013-04-06
      • 2020-11-16
      • 1970-01-01
      • 2015-12-15
      相关资源
      最近更新 更多