我是Hadoop MapReduce / Spark的新手,对于我的目标项目,我想用Hadoop MapReduce / Spark执行数据预处理。我知道Hadoop MapReduce的基础知识,但我不知道如何用这个框架实现预处理算法/方法。对于Hadoop MapReduce,我必须定义Map()
和Reduce()
,它将<key, value>
对作为从Mappers到Reducers的传输类型。但是对于数据库表,我如何处理<key, value>
格式的表条目?应用primay键作为关键似乎是无稽之谈。这是Spark的类似情况,因为我需要指定密钥。
例如,对于数据库表中的每个数据条目,某些条目的某些字段可能会被遗漏,因此我想为那些具有插补策略的字段添加默认值。如何以<key, value>
方式处理数据条目?这里将主键设置为key
是无稽之谈,因为如果是这样的话,每个<key, value>
对都不会拥有与其他键相同的密钥,因此在这种情况下聚合没有用
答案 0 :(得分:0)
Map reduce是一种低级编程。您可以从HIVE和PIG等高级抽象开始。
如果您正在处理结构化数据,那么您可以使用HIVE,这就像SQL一样,它可以将SQL转换为MR作业。
希望这有帮助。