大数据平台是对海量构造化、非构造化、半机构化数据进行采集、存储、打算、统计、剖析处理的一系列技能平台。大数据平台处理的数据量常日是TB级,乃至是PB或EB级的数据,这是传统数据仓库工具无法处理完成的,其涉及的技能有分布式打算、高并发处理、高可用途理、集群、实时性打算等,搜集了当前IT领域热门盛行的各种技能。
此片文章整理出了大数据平台常见的一些开源工具,并且依据其紧张功能进行分类,以便大数据学习者及运用者快速查找和参考。
大数据平台常见的一些工具搜集

紧张包含:措辞工具类、数据采集工具、ETL工具、数据存储工具、剖析打算、查询运用及运维监控工具等。以下对各工具作为简要的解释。
一措辞工具类
1
Java编程技能
Java编程技能是目前利用最为广泛的网络编程措辞之一,是大数据学习的根本。Java具有大略性、面向工具、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点,拥有极高的跨平台能力,是一种强类型措辞,可以编写桌面运用程序、Web运用程序、分布式系统和嵌入式系统运用程序等,是大数据工程师最喜好的编程工具,最主要的是,Hadoop以及其他大数据处理技能很多都是用Java,因此,想学好大数据,节制Java根本是必不可少的。
很多初学者,对大数据的观点都是模糊不清的,大数据是什么,能做什么,学的时候,该按照什么线路去学习,学完往哪方面发展,想深入理解,想学习的同学欢迎加入大数据学习企鹅群:458345782,有大量干货(零根本以及进阶的经典实战)分享给大家,并且有清华大学毕业的资深大数据讲师给大家免费授课,给大家分享目前海内最完全的大数据高端实战实用学习流程体系。
2
Linux命令
对付大数据开拓常日是在Linux环境下进行的,比较Linux操作系统,Windows操作系统是封闭的操作系统,开源的大数据软件很受限定,因此,想从事大数据开拓干系事情,还需节制Linux根本操作命令。
3
Scala
Scala是一门多范式的编程措辞,一方面接管继续了多种措辞中的精良特性,一方面又没有抛弃 Java 这个强大的平台,大数据开拓主要框架Spark是采取Scala措辞设计的,想要学好Spark框架,拥有Scala根本是必不可少的,因此,大数据开拓需节制Scala编程根本知识!
4
Python与数据剖析
Python是面向工具的编程措辞,拥有丰富的库,利用大略,运用广泛,在大数据领域也有所运用,紧张可用于数据采集、数据剖析以及数据可视化等,因此,大数据开拓需学习一定的Python知识。
二数据采集类工具
1)Nutch是一个开源Java 实现的搜索引擎。它供应了我们运行自己的搜索引擎所需的全部工具,包括全文搜索和Web爬虫。
2)Scrapy是一个为了爬取网站数据,提取构造性数据而编写的运用框架,可以运用在数据挖掘,信息处理或存储历史数据等一系列的程序中。大数据的采集须要节制Nutch与Scrapy爬虫技能。
三ETL工具
1
Sqoop
Sqoop是一个用于在Hadoop和关系数据库做事器之间传输数据的工具。它用于从关系数据库(如MySQL,Oracle)导入数据到Hadoop HDFS,并从Hadoop文件系统导出到关系数据库,学习利用Sqoop对关系型数据库数据和Hadoop之间的导入有很大的帮助。
2
Kettle
Kettle是一个ETL工具集,它许可你管理来自不同数据库的数据,通过供应一个图形化的用户环境来描述你想做什么,而不是你想怎么做。作为Pentaho的一个主要组成部分,现在在海内项目运用上逐渐增多。其数据抽取高效稳定。
四数据存储类工具
1
Hadoop分布式存储与打算
Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。Hadoop的框架最核心的设计便是:HDFS和MapReduce。HDFS为海量的数据供应了存储,MapReduce则为海量的数据供应了打算,因此,须要重点节制,除此之外,还须要节制Hadoop集群、Hadoop集群管理、YARN以及Hadoop高等管理等干系技能与操作!
2
Hive
Hive是基于Hadoop的一个数据仓库工具,可以将构造化的数据文件映射为一张数据库表,并供应大略的SQL查询功能,可以将SQL语句转换为MapReduce任务进走运行。相对付用Java代码编写MapReduce来说,Hive的上风明显:快速开拓,职员本钱低,可扩展性(自由扩展集群规模),延展性(支持自定义函数)。十分适宜数据仓库的统计剖析。对付Hive需节制其安装、运用及高等操作等。
3
ZooKeeper
ZooKeeper 是一个开源的分布式折衷做事,是Hadoop和HBase的主要组件,是一个为分布式运用供应同等性做事的软件,供应的功能包括:配置掩护、域名做事、分布式同步、组件做事等,在大数据开拓中要节制ZooKeeper的常用命令及功能的实现方法。
4
HBase
HBase是一个分布式的、面向列的开源数据库,它不同于一样平常的关系数据库,更适宜于非构造化数据存储的数据库,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,大数据开拓需节制HBase根本知识、运用、架构以及高等用法等。
5
Redis
Redis是一个Key-Value存储系统,其涌现很大程度补偿了Memcached这类Key/Value存储的不敷,在部分场合可以对关系数据库起到很好的补充浸染,它供应了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端,利用很方便,大数据开拓需节制Redis的安装、配置及干系利用方法。
6
Kafka
Kafka是一种高吞吐量的分布式发布订阅系统,其在大数据开拓运用上的目的是通过Hadoop的并行加载机制来统一线上和离线的处理,也是为了通过集群来供应实时的。大数据开拓需节制Kafka架构事理及各组件的浸染和利用方法及干系功能的实现。
7
Neo4j
Neo4j是一个高性能的,NoSQL图形数据库,具有处理百万和T级节点和边的大尺度处理网络剖析能力。它是一个嵌入式的、基于磁盘的、具备完备的事务特性的Java持久化引擎,但是它将构造化数据存储在网络(从数学角度叫做图)上而不是表中。Neo4j因其嵌入式、高性能、轻量级等上风,越来越受到关注。
8
Cassandra
Cassandra是一个稠浊型的非关系的数据库,类似于Google的BigTable,其紧张功能比Dynamo(分布式的Key-Value存储系统)更丰富。这种NoSQL数据库最初由Facebook开拓,现已被1500多家企业组织利用,包括苹果、欧洲原子核研究组织(CERN)、康卡斯特、电子港湾、GitHub、GoDaddy、Hulu、Instagram、Intuit、Netflix、Reddit等。是一种盛行的分布式构造化数据存储方案。
9
SSM
SSM框架是由Spring、Spring MVC、MyBatis三个开源框架整合而成,常作为数据源较大略的Web项目的框架。大数据开拓需分别节制Spring、Spring MVC、MyBatis三种框架的同时,再利用SSM进行整合操作。
五剖析打算类工具
1
Spark
Spark是专为大规模数据处理而设计的快速通用的打算引擎,其供应了一个全面、统一的框架用于管理各种不同性子的数据集和数据源的大数据处理的需求,大数据开拓需节制Spark根本、SparkJob、Spark RDD支配与资源分配、Spark Shuffle、Spark内存管理、Spark广播变量、Spark SQL、Spark Streaming以及Spark ML等干系知识。
2
Storm
Storm 是自由的开源软件,一个分布式的、容错的实时打算系统,可以非常可靠的处理弘大的数据流,用于处理Hadoop的批量数据。Storm支持许多种编程措辞,并且有许多运用领域:实时剖析、在线机器学习、一直顿的打算、分布式RPC(远过程调用协议,一种通过网路从远程打算机程序上要求做事)、ETL等等。Storm的处理速率惊人:经测试,每个节点每秒钟可以处理100万个数据元组。
3
Mahout
Mahout目的是“为快速创建可扩展、高性能的机器学习运用程序而打造一个环境”,紧张特点是为可伸缩的算法供应可扩展环境、面向Scala/Spark/H2O/Flink的新颖算法、Samsara(类似R的矢量数学***,它还包括了用于在MapReduce上进行数据挖掘的浩瀚算法。
4
Pentaho
Pentaho是天下上最盛行的开源商务智能软件,以事情流为核心的、强调面向办理方案而非工具组件的、基于Java平台的BI套件。包括一个Web Server平台和几个工具软件:报表、剖析、图表、数据集成、数据挖掘等,可以说包括了商务智能的方方面面。Pentaho的工具可以连接到NoSQL数据库。大数据开拓需理解其利用方法。
六查询运用类工具
1
Avro与Protobuf
Avro与Protobuf均是数据序列化系统,可以供应丰富的数据构造类型,十分适宜做数据存储,还可进行不同措辞之间相互通信的数据交流格式,学习大数据,需节制其详细用法。
2
Phoenix
Phoenix是用Java编写的基于JDBC API操作HBase的开源SQL引擎,其具有动态列、散列加载、查询做事器、追踪、事务、用户自定义函数、二级索引、命名空间映射、数据网络、韶光戳列、分页查询、跳跃查询、视图以及多租户的特性,大数据开拓需节制其事理和利用方法。
3
Kylin
Kylin是一个开源的分布式剖析引擎,供应了基于Hadoop的超大型数据集(TB/PB级别)的SQL接口以及多维度的OLAP分布式联机剖析。最初由eBay开拓并贡献至开源社区。它能在亚秒内查询巨大的Hive表。
4
Zeppelin
Zeppelin是一个供应交互数据剖析且基于Web的条记本。方便你做出可数据驱动的、可交互且可协作的精美文档,并且支持多种措辞,包括 Scala(利用 Apache Spark)、Python(Apache Spark)、SparkSQL、 Hive、 Markdown、Shell等。
5
ElasticSearch
ElasticSearch是一个基于Lucene的搜索做事器。它供应了一个分布式、支持多用户的全文搜索引擎,基于RESTful Web接口。ElasticSearch是用Java开拓的,并作为Apache容许条款下的开放源码发布,是当前盛行的企业级搜索引擎。设计用于云打算中,能够达到实时搜索、稳定、可靠、快速、安装利用方便。
6
Solr
Solr基于Apache Lucene,是一种高度可靠、高度扩展的企业搜索平台, 是一款非常精良的全文搜索引擎。有名用户包括eHarmony、西尔斯、StubHub、Zappos、百思买、AT&T、Instagram、Netflix、彭博社和Travelocity。大数据开拓需理解其基本事理和利用方法。
七数据管理类工具
1
Azkaban
Azkaban是由linked开源的一个批量事情流任务调度器,它是由三个部分组成:Azkaban Web Server(管理做事器)、Azkaban Executor Server(实行管理器)和MySQL(关系数据库),可用于在一个事情流内以一个特定的顺序运行一组事情和流程,可以利用Azkaban来完成大数据的任务调度,大数据开拓需节制Azkaban的干系配置及语法规则。
2
Mesos
Mesos 是由加州大学伯克利分校的AMPLab首先开拓的一款开源集群管理软件,支持Hadoop、ElasticSearch、Spark、Storm 和Kafka等架构。对数据中央而言它就像一个单一的资源池,从物理或虚拟机器中抽离了CPU、内存、存储以及其它打算资源,很随意马虎建立和有效运行具备容错性和弹性的分布式系统。
3
Sentry
Sentry 是一个开源的实时缺点报告工具,支持 Web 前后端、移动运用以及游戏,支持 Python、OC、Java、Go、Node、Django、RoR 等主流编程措辞和框架 ,还供应了 GitHub、Slack、Trello 等常见开拓工具的集成。利用Sentry对数据安全管理很有帮助。
八运维监控类工具
Flume是一款高可用、高可靠、分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各种数据发送方,用于网络数据;同时,Flume供应对数据进行大略处理,并写到各种数据接管方(可定制)的能力。大数据开拓需节制其安装、配置以及干系利用方法。
很多初学者,对大数据的观点都是模糊不清的,大数据是什么,能做什么,学的时候,该按照什么线路去学习,学完往哪方面发展,想深入理解,想学习的同学欢迎加入大数据学习企鹅群:458345782,有大量干货(零根本以及进阶的经典实战)分享给大家,并且有清华大学毕业的资深大数据讲师给大家免费授课,给大家分享目前海内最完全的大数据高端实战实用学习流程体系。