专栏首页加米谷大数据技术分享 | 提升Hadoop性能和利用率你知道有哪些吗?

技术分享 | 提升Hadoop性能和利用率你知道有哪些吗?

时下流行的词汇是大数据和Hadoop。了解大数据的知道Hadoop有三个组件,即HDFS、MapReduce和Yarn。

HDFS代表Hadoop分布式文件系统。

Hadoop分布式文件系统用于整个集群中以块的形式在计算机之间存储数据。

MapReduce是一种编程模型,可以用来编写我们的业务逻辑并获取所需的数据。

而Yarn是HDFS和Spark、Hbase等其他应用程序之间的接口。我们不知道的是,Hadoop使用了很多其他应用程序有助于其最佳性能和利用率。

1、Hbase

HBase是一个基于HDFS的分布式专栏数据库。 当您需要实时读/写随机访问一个非常大的数据集时,Hadoop应用程序才能使用。 HBase提供了几乎可以使用任何编程语言进行开发的API,非常适合稀疏数据集。 它是用Java编写的,并不强制数据内的关系。 HBase的关键在于它不关心数据类型,在同一列中存储一行中的整数和另一行中的字符串。 它存储一个键值对并存储版本化的数据。 HBase shell是用JRuby(JRE的Ruby实现)封装Java客户端API(即,可以访问Java库)编写的。 HBase以三种不同的模式运行:独立运行(在一台机器上的单个JVM上运行),伪分布式(在一台机器上运行多个JVM)和全分布式(在多台机器上运行多个JVM)。

2、Pig

这是一个分析大型数据集的平台,其中包括表达数据分析程序的高级语言,以及评估这些程序的基础设施。Pig是一种高级语言,主要处理日志文件等半结构化数据。它支持被称为Pig Latin的语言。查询规划器将用Pig Latin编写的查询映射,然后将其缩小,然后在Hadoop集群上执行。使用Pig,你可以创建自己的功能来做特殊处理。在简单的MapReduce中,编写表之间的连接是非常困难的。在Pig中这很容易,因为它最适合连接数据集,排序数据集,过滤数据,按方法分组,更具体地说,可以编写用户定义的函数(UDF)。MapReduce编程模型可以被认为是由三个不同的阶段组成,即处理输入记录,形成相关的记录和处理组到输出。在MapReduce中,前两个步骤由映射器处理,第三步由reducer处理。Pig Latin暴露了从每个阶段执行操作的显式原语。这些原语可以被组合和重新排序。Pig有两种工作模式:本地模式A和Hadoop模式。本地模式使用单个JVM并在本地文件系统上工作,而Hadoop模式或MapReduce模式将Pig Latin呈现为MapReduce作业,并在群集上执行它们。

3、Zookeeper

这是分布式应用程序的分布式协调服务。 Zookeeper解决了集中配置,同步,局部故障,死锁,竞态条件和网络等问题。 它实际上处理Hadoop生态系统中分布式应用程序开发的基本问题,以便开发人员可以专注于功能。 Zookeper在集群中总是有奇数个节点,因为主节点的选择是通过投票。

Zookeper拥有领导者,追随者和观察者。 在领导者中,写操作是基于群体,是由追随者承诺。 追随者把这些写的文章转发给领导者。 只有一个领导者可以编写写和提交文件,所有的请求通过追随者来到领导。 如果领导者下台,在追随者之间进行投票选择领导者。 观察者只是观察选票的结果,而不参与投票过程。

4、Hive

Hive是Hadoop的数据仓库。那些不具备Java背景并且知道SQL查询的人,发现在Java中编写MapReduce作业是很困难的。为了解决这个问题,开发了Hive。查询被编写成在后端被编译成MapReduce作业。这加快了这个过程,因为写入查询比写入代码要快。而且,Hive支持创建表,创建视图,创建索引和DML(如seleect,where子句,group by,order by和join)的DDL。需要记住的一点是,Hive不是RDBMS,它应该用于批处理而不是OLTP。Hive有默认的metastore,它包含表文件的位置,表格定义,存储格式,行格式等。Hive查询被称为HQL(Hive Query Language)。Derby是Hive的默认数据库。

5、Sqoop

如果您在其他一些RDBMS数据库(如Oracle或MySQL)中有数据,并且现在要转移到使用Hadoop,则必须将数据移动到HDFS;这时Sqoop就派上用场了。Sqoop是一种开放源码工具,用于传统的RDBMS和Hadoop环境之间的数据交互。使用Sqoop,数据可以从MySQL、PostgreSQL、Oracle、SQL Server或DB2移入HDFS,Hive和HBase,反之亦然。它在业界广泛使用,因为它是您决定从关系数据库迁移到Hadoop生态时使用的第一个Apache产品。

Sqoop有三个步骤。在第一步中,它将请求发送到关系数据库,以返回关于表的元数据信息(元数据是关于关系数据库中的表的数据)。第二步中,Sqoop根据接收到的信息生成Java类,必须在系统中安装Java。 在最后一步,一个jar是由编译的文件构成的。 Sqoop需要有一个主键最好的工作,但不要担心,如果你的表结构本质上没有它, 它会为你创建,但不会影响你的表的元数据结构。

本文分享自微信公众号 - 加米谷大数据(DtinoneBD)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-01-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 大数据开发的工具有哪些?

    作为一个大数据开发人员,每天要与使用大量的大数据工具来完成日常的工作,那么目前主流的大数据开发工具有哪些呢?加米谷大数据为大家介绍下大数据开发工具

    加米谷大数据
  • 大数据开发培训需要学习哪些知识内容?

    1. Java编程 Java编程是大数据开发的基础,大数据中很多技术都是使用Java编写的,如Hadoop、Spark、mapreduce等,因此,想要学好大...

    加米谷大数据
  • 成为大数据工程师必备的技能有哪些?(上)

    http://www.aboutyun.com/thread-11873-1-1.html

    加米谷大数据
  • 第八届中国大数据技术大会将于12月中旬隆重召开

    为了迎接大数据时代的到来,更好地交流大数据的实践经验,进一步推进大数据技术创新与应用,展示国内外大数据领域的最新科研成果,2014年12月12-14日,由中国计...

    CSDN技术头条
  • Hadoop大数据计算服务平台你了解多少?武汉波若大数据如何实现海量数据存储计算?

    Hadoop数据存储计算平台,运用Apache Hadoop关键技术对其进行产品研发,Hadoop是一个开发设计和运作解决规模性数据的软件系统,是Apache的...

    数道云大数据
  • 安全测试工具(连载6)

    Pangolin(穿山甲)一款帮助渗透测试人员进行SQL注入测试的安全工具。它能够通过一系列非常简单的操作,达到最大化的攻击测试效果。它从检测注入开始到最后控制...

    小老鼠
  • 智能合约语言 Solidity 教程系列9 - 错误处理

    这是Solidity教程系列文章第9篇介绍Solidity 错误处理。 Solidity系列完整的文章列表,可阅读原文,查看分类-Solidity。

    Tiny熊
  • 关于 网红题 LazyMan 的个人实现

    每执行一次动作实际上就是队列push一个事件(event)如果是xxFirst 函数则是 unshift 一个事件(event)

    腾讯IVWEB团队
  • 不用再羡慕别人的冬天,VR游戏《Snowday》给你带来不一样的雪球大战

    VRPinea
  • 纯碎coding:7个最常用的排序算法

    double

扫码关注云+社区

领取腾讯云代金券