这个问题可能听起来很烦人,实际上可能与真正的编程没有任何关系。这是我与一位同事进行的一场小型辩论的衍生产品。他一直坚持认为 HIVE 和 PIG 可以被称为独立的“编程模型”,因为当你在这些中编写 MapReduce 作业时,你真的不需要在 MapReduce 中思考——特别是如果你在 HIVE 中编程。从程序员的角度来看,MapReduce 部分是完全抽象的。它完全类似于 SQL。
但我有点不同意,因为用这些语言编写的脚本最终会转换为多个 mapreduce 作业。因此,这些可以称为更高级别的编程语言来为相同的模型进行编程。并且应该从等待处理的底层数据的角度来看待编程模型这个词,而不是程序员。
你怎么看?