ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

与使用Java相比,hbase / hadoop中的流作业是否会丢失任何功能?

2019-12-07 22:56:23  阅读:304  来源: 互联网

标签:hadoop hbase thrift python java


抱歉,这是一个基本问题.我正在阅读有关hbase和学习的书,但该书中(以及在线的)大多数示例都倾向于使用Java(我猜是因为hbase是Java的本机).有一些python示例,我知道我可以使用python(使用thrift或其他模块)访问hbase,但是我想知道其他功能吗?

例如,hbase具有“协处理器”功能,可将数据推送到您进行计算的位置.这种类型是否适用于python或其他使用流式hadoop作业的应用程序?似乎在Java中,它可以知道您的工作并相应地管理数据流,但是这如何与流一起工作?如果不起作用,是否有办法获得这种类型的功能(通过流媒体而不切换到另一种语言)?

也许另一种询问方式是..非Java程序员在流式传输时如何才能获得hadoop功能的所有好处?

提前致谢!

解决方法:

据我所知,您正在谈论2个(或更多)完全不同的概念.

Hadoop Streaming”在那里通过您的可执行文件(独立于您选择的编程语言)流传输数据.使用流式传输时,不会丢失任何功能,因为该功能基本上是映射/减少您从hadoop流中获取的数据.

对于Hadoop部分,您甚至可以使用Pig或Hive大数据查询语言来高效地完成工作.使用最新版本的Pig,您甚至可以用python编写自定义函数,并将其用于Pig脚本中.

尽管有一些工具可以使您使用该语言,但是您永远不会忘记hadoop框架主要是用Java编写的.有时您可能需要编写专门的InputFormat.或猪里面的UDF等等.这样一来,您就可以轻松掌握Java方面的知识.

您的“ Hbase协处理器”示例与hadoop的流功能无关. Hbase协处理器包括2个部分:服务器端部分,客户端部分.我很确定在发布的hbase中会嵌入一些有用的服务器端协处理器.但是除此之外,您还需要编写自己的协处理器(还有一个坏消息:它的java).对于客户端,我确信您可以通过节俭地将它们与您喜欢的编程语言一起使用,而不会出现太大问题.

因此,作为对您的问题的回答:您始终可以躲避学习Java;仍在利用hadoop的潜力(使用第三方库/应用程序).但是,当粪便击中风扇时,最好能理解其内在内容.能够使用Java开发.了解Java可以让您完全控制hadoop / hbase环境.

希望对您有所帮助.

标签:hadoop,hbase,thrift,python,java
来源: https://codeday.me/bug/20191207/2087140.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有