数智资源网
首页 首页 大数据 大数据入门 查看内容

为什么如此难用?Hadoop的12个技术痛点

木马童年 2020-10-16 17:00 14 0

Hadoop是一个很神奇的创造,但它发展过快而表现出一些瑕疵。我爱大象,大象也爱我。不过这世上没什么是完美的,有的时候,即使是再好的朋友间也会起冲突。就像我和Hadoop之间的存在斗争一样。下面是我列举的12个痛点 ...

为什么如此难用?Hadoop的12个技术痛点

 

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,除了分布式的,不需要工具、有点易错。

4、错误信息

你在开玩笑,对吧?说到错误信息。我最喜欢的是任何 Hadoop 工具说的,“失败,无错误返回,”可以翻译成“发生了什么,能找到是你的运气。”

5、Kerberos 身份认证协议

如 果你想要想出一种相对安全的 Hadoop,你就要用到 Kerberos。记住 Kerberos 和它是多么的老旧?所以你只要 LDAP,除了它 Hadoop 中的都没有被集成:没单点登录,无 SAML,无 OAuth,无证书传递(相反地,它会重新认证)。更有趣的是,Hadoop 是生态系统的每一个部分都写它自己的LDAP 支持,所以这就是矛盾的。

6、Knox 数据保护应用程序

因 为用 Java 写一个合适的 LDAP 连接器需要做至少100次才能保证正确。哎呀,看看那代码。它并不真正地有效维护好连接池。实际上,我想 Knox 就是为 Java 或者一时的热情而创造出来的。你可以通过一个写好的 Apache config,mod_proxy,mod_rewrite 做同样的事情。实际上,那是 Knox 的基础,除了在 Java 中。对于启动,在认证之后,它不传递信息给 Hive 或 WebHDFS 或你正在访问的东西,但是会启动它。

7、Hive 不会让我制作外部表格,但也不会删除它

如 果你让 Hive 来管理表格,要是你终止对表格的使用的话,它会自动将它们全部删除。如果你有一个外部表格,它就不会将它删除。为什么不能有一个“也删除外部表”的功能 呢?为什么我必须在外部删除?还有,当 Hive 特别是与 RDBMS 一起应用时,为什么不能有 Update 和 Delete 功能?

8、Namenode 失败

Oozie、Knox 和 Hadoop 的其它部分都不遵循新的 Namenode HA 资料。你可以在 Hadoop 中启用HA,只要你不使用与之相关的东西。

9、文档

抱怨都是陈词滥调了,但是还是检查一下。37行错了——更糟糕的是,网络上的所有文章都错了。这证明没有人会费心在执行前检查一下。Oozie 文档更可怕,大多数例子对它给的格式校验都无法通过。

10、Ambari 覆盖范围

我 曾批评过Ambari,就我所知的 Hadoop 架构来说,Ambari 能够工作真是很神奇。那么,他们可能会抱怨,Ambari 的缺点到底在哪?例如,Ambari 不能安装,或者有些情况下不能正确安装,包括多种HA 设置,Knox 等等。我确定它会变得更好,但是“手动安装之后”或者“我们已经创建了一个备份脚本”,这些不应该出现在我的邮件和文档中。

11、知识库管理

说 到Ambari,当知识正在升级的时候,你有完成过安装吗?我有过,但是它表现的并不好。实际上,有时候它找到了最快的镜像。Ambari 并不关注它下 载下来的东西是否兼容。你可以用你自己的方式配置那部分,但是它在数百个 Hadoop 节点上仍然会报说你安装有误。

12、Null 指针异常

我经常在运行过程中遇到这样的转换错误,换句话说,他们不应该在Pig、Hive 等数据查询和处理工具中被表示为 Null 指针异常。对任何相似的抱怨,都会有的答复,“欢迎补丁!”或者“嘿,我正在处理。”

Hadoop 已经出来很长时间了,它一直是我最喜欢的工具之一,但是那些令人发狂的尖锐问题也使我很生气。只是希望开发者能多用心解决这些问题。不知道你有没有相似的 Hadoop bug 可以拿出来和大家分享一下,目的是督促Hadoop能做得更好!

数据保护 应用程序
0
为您推荐
小甲鱼数据结构与算法,资源教程下载

小甲鱼数据结构与算法,资源教程下载

课程名称小甲鱼数据结构与算法,资源教程下载课程目录:01 数据结构和算法绪论02 谈谈…...

云帆大数据Hadoop从入门到上手企业开发8天学习视频,资源教程下载

云帆大数据Hadoop从入门到上手企业开发8天学习视频,

课程名称云帆大数据Hadoop从入门到上手企业开发8天学习视频,资源教程下载课程介绍超…...

数据分析工具之spss/amos精品课程零基础到精通,资源教程下载

数据分析工具之spss/amos精品课程零基础到精通,资源

课程名称数据分析工具之spss/amos精品课程零基础到精通,资源教程下载课程介绍Matlab…...

郝斌数据结构系列培训学习视频,资源教程下载

郝斌数据结构系列培训学习视频,资源教程下载

课程名称郝斌数据结构系列培训学习视频,资源教程下载课程目录01:什么叫做数据结构02…...

2017算法与数据结构C++精解-慕课网,资源教程下载

2017算法与数据结构C++精解-慕课网,资源教程下载

课程名称2017算法与数据结构C++精解-慕课网,资源教程下载课程目录第1章 当我们谈论算…...

Spark Streaming实时流处理项目实战,Spark与Spark Streaming核心架构系统实践课程下 ...

Spark Streaming实时流处理项目实战,Spark与Spark St

课程名称Spark Streaming实时流处理项目实战,Spark与Spark Streaming核心架构系统实…...