Apache Hadoop 软件库是一个允许跨集群用简单的模型对于大数据的分布式处理的框架。它的目的是扩大从单一服务器到成千上万的机器,提供每个本地计算和存储。而不是依靠硬件来实现高可用性,库本身的是检测和处理在应用程序层的故障,所以提供高可用性服务除了计算机集群,每一种都可能导致故障。该项目包括很多模块下面简单介绍一些常用的Hadoop Common:基础功能类库支持其他Hadoop 模块Hadoop Distributed File System:一个分布式文件系统,它提供了高通量访问应用程序数据Hadoop YARN:一个集群作业调度和资源管理的框架Hadoop MapReduce:YARN-based 系统并行处理大型数据集。
(版本升级以 YARN 做资源管理器的 HadoopAmbari™:一个基于 web 的工具配置,管理和监视 Apache Hadoop 集群,包括支持Hadoop 的 Hadoop HDFS,Hadoop MapReduce,Hive,HCatalog,HBase,ZooKeeper,Oozie, Pig and Sqoop。
Ambari 还提供了一个仪表板查看集群健康,如热图和能够有效看到 MapReduce,Pig 和 Hive 应用的特性来诊断性能特征以用户友好的方式。Avro™: 数据序列化系统。Cassandra™:一个没有单点故障可伸缩的多主机数据库。Chukwa™:一个管理大型分布式系统的数据采集系统。HBase™:一个可扩展的分布式数据库,支持大型表的结构化数据存储。
Hive™:一个数据仓库基础设施,提供了数据总结和特别查询。Mahout™:一个可扩展的机器学习和数据挖掘库。Pig™:一个高级数据流语言和并行计算的执行框架。Spark™:Hadoop 数据的快速、通用的计算引擎。Spark 提供了一个简单的和丰富的编程模型,支持广泛的应用程序,包括 ETL、机器学习、流处理和图计算。
Tez™:一个广义数据流编程框架,基于 Hadoop 的 YARN,它提供了一个功能强大且灵 活的引擎来执行任意 DAG(有向无环图)的任务来处理批处理和交互用例的数据。Tez正在被 Hive™, Pig™ 和其他框架 Hadoop 生态系统,以及其他商业软件(例如 ETL 工具),以取代 Hadoop MapReduce™作为底层执行引擎。
学习大数据Hadoop需要哪些基础?
Hadoop是目前被广泛使用的大数据平台,Hadoop平台主要有Hadoop Common、HDFS、Hadoop Yarn、Hadoop MapReduce和Hadoop Ozone。Hadoop平台目前被行业使用多年,有健全的生态和大量的应用案例,同时Hadoop对硬件的要求比较低,非常适合初学者自学。
目前很多商用大数据平台也是基于Hadoop构建的,所以Hadoop是大数据开发的一个重要内容。学习Hadoop开发需要有三个基础知识,下面进行分别介绍:第一:Linux操作系统知识。通常情况下,Hadoop平台是构建在Linux系统之上的,所以学习Hadoop首先要学习Linux操作系统的使用。目前比较流行的Linux操作系统包括CentOS和Ubuntu,这两个Linux系列操作系统有广泛的应用场景。
学习Linux并不复杂,通常情况下可以在虚拟机上完成,很多初学者都是在虚拟机上搭建一个伪分布式集群,然后完成Hadoop实验。第二:编程语言。目前在Hadoop平台下多采用Java和Python来完成程序的编写,由于Hadoop本身是采用Java语言编写的,所以在Hadoop平台下采用Java语言是比较方便的选择,Hadoop的官方demo往往也是采用Java语言实现的。
Python语言由于比较简单,同时Python有丰富的库可以使用,所以目前使用Python完成Hadoop平台的开发也是一个比较常见的选择。另外,在Spark平台下Scala也有广泛的应用。第三:算法。大数据的核心就是数据价值化的过程,而算法设计则是数据价值化的基础。因此,大数据平台的开发离不开算法,要想学习Hadoop开发一定要有一个扎实的算法基础。
Hadoop平台自身有非常丰富的开发组件,所以学习Hadoop的过程还是比较漫长的,由于大数据开发有较强的场景特征,所以建议结合具体的场景来完成Hadoop平台的学习。大数据是我的主要研究方向之一,目前我也在带大数据方向的研究生,我会陆续在头条写一些关于大数据方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。
sql server、my sql、oracle与hadoop,哪个才是未来趋势?到底有什么区别?
SQL server,Mysql,Oracle都可以说是老产品了。就产品本身来说,这三个数据库产品都是成功的。这三者是目前市场占有率最高的关系数据库,而且很有代表性。MySQLMySQL基本是生于互联网,长于互联网。其应用实例也大都集中于互联网方向,MySQL的高并发存取能力并不比大型数据库差,同时价格便宜,安装使用简便快捷,深受广大互联网公司的喜爱。
MySql可运行在不同的操作系统下。简单地说,MySql可以支持Windows95/98/NT/2000以及UNIX、Linux和SUN OS等多种操作系统平台。这意味着在一个操作系统中实现的应用可以很方便地移植到其他的操作系统下。OracleOracle是甲骨文公司的一款关系数据库管理系统。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。
它是一种高效率、可靠性好的适应高吞吐量的数据库解决方案。Oracle的应用,主要在传统行业的数据化业务中,比如:银行、金融这样的对可用性、健壮性、安全性、实时性要求极高的业务;零售、物流这样对海量数据存储分析要求很高的业务。而且由于Oracle对复杂计算、统计分析的强大支持,在互联网数据分析、数据挖掘方面的应用也越来越多。
SQL ServerMicrosoft SQL Server 是一个全面的数据库平台,使用集成的商业智能 (BI)工具提供了企业级的数据管理。Microsoft SQL Server 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。
Hadoop现在,如果你没有听说过Hadoop,那么你一定落伍了。Hadoop已经成为业界大数据平台首选。说到Hadoop,大家都会想到大数据技术。建大型数据仓库,PB级数据存储、处理、分析、统计。作为一个全新的开源项目,Hadoop提供了一中新的方式用来存储和处理器数据。大型的互联网公司,如谷歌、Facebook都使用Hadoop来存储和管理它们庞大的数据集。