Hadoop是一个很神奇的创造,但它发展过快而表现出一些瑕疵。我爱大象,大象也爱我。不过这世上没什么是完美的,有的时候,即使是再好的朋友间也会起冲突。就像我和Hadoop之间的存在斗争一样。下面是我列举的12个痛点。
1、Pig vs. Hive
你 在 Pig 里用不了 Hive UDFS。在 Pig 中你必须用 HCatalog 来访问 Hive 表。你在 Hive 里用不了Pig UDFS。在 Hive 中无论是多么小的额外功能,我都不会感觉像写一个 Pig 脚本或者“啊,如果是在 Hive 里我可以轻易地完成”,尤其是当我写 Pig 脚本的时候,当我在写其中之一的时候,我经常想,“要是能跳过这堵墙就好了!”。
2、被迫存储我所有共享库到 HDFS
这 是 Hadoop 的复发机制。如果你保存你的 Pig 脚本到 HDFS 上,那么它会自动假设所有的 JAR 文件都会在你那里一样。这种机制在 Oozie 和别的工具上也出现了。这通常无关紧要,但有时,必须存储一个组织的共享库版本就很痛苦了。还有,大多数时候,你安装在不同客户端的相同 JAR,那么为什么要保存两次?这在 Pig 中被修复了。别的地方呢?
3、Oozie
Debug 并不好玩,所以文档里有很多老式的例子。当你遇到错误,可能并不是你做错了什么。可能是配置打印错误或者格式验证错误,统称“协议错误”。很大程度上,Oozie 就像 Ant 或 Maven,除了分布式的,不需要工具、有点易错。