2

我想从头开始学习大数据技术。我想知道是否有必要学习java来使用hadoop,因为我已经精通python了?

4

3 回答 3

2

不,您不一定需要 Java 知识,因为您可以在 pig 或 hive 中完美地编写 map-reduce 作业(类似于 SQL)。但是,与所有抽象层一样,在某些时候您可能需要知道“幕后”发生了什么,并且能够查看、理解和调试底层 java 是一个很大的优势。

目前有很多努力致力于为 hadoop 提供更完整的 SQL 接口,包括 Impala (Cloudera)、Presto (Facebook)、Phoenix 和 Hive(已经提到)等工具。

于 2013-11-12T14:44:22.060 回答
1

查看MRJob,一个基于 python 的包装,用于运行、记录和监控 hadoop 作业。

尽管在某些情况下纯 Java 解决方案可能更快,但您几乎不需要调试 Java 代码。

于 2013-11-12T14:46:21.087 回答
1

根本不需要,虽然那只是我的意见。如果你python很好,你应该没问题。

看看这个在 python 中写一个 hadoop map reduce。有很多方法可以用 hadoop 实现解决方案。仅仅因为它们中有很多是在 Java 中的,并不意味着 java 是解决使用问题的唯一工具。如果您使用的是用 java 编写的遗留系统,那么了解基础知识可能会有所帮助,但老实说,我认为您可以在遇到它们时参考它们。无需花费一周的时间来学习 Java 7 的复杂性以及 Java 8 中满足您当前需求的新功能。

于 2013-11-12T14:42:03.493 回答