大数据平台最常用的30款开源工具

  

大数据平台是对海量结构化,非结构化,半机构化数据进行采集,存储,计算,统计,分析处理的一系列技术平台。大数据平台处理的数据量通常是TB级,甚至是PB或EB级的数据,这是传统数据仓库工具无法处理完成的,其涉及的技术有分布式计算,高并发处理,高可用处理,集群,实时性计算等,汇集了当前它领域热门流行的各类技术。

  

本文整理出了大数据平台常见的一些开源工具,并且依据其主要功能进行分类,以便大数据学习者及应用者快速查找和参考。

  

▲大数据平台常见的一些工具汇集

  

主要包含:语言工具类,数据采集工具,ETL工具,数据存储工具,分析计算,查询应用及运维监控工具等。以下对各工具作为简要的说明。

  

一、语言工具类

  

1, Java编程技术

  

Java编程技术是目前使用最为广泛的网络编程语言之一,是大数据学习的基础。

  

Java具有简单性,面向对象,分布式,健壮性、安全性,平台独立与可移植性,多线程,动态性等特点,拥有极高的跨平台能力,是一种强类型语言。可以编写桌面应用程序,网络应用程序,分布式系统和嵌入式系统应用程序等,是大数据工程师最喜欢的编程工具。

  

最重要的是,Hadoop以及其他大数据处理技术很多都是用Java。因此,想学好大数据,掌握Java基础是必不可少的。

  

在这里还是要推荐下我自己建的大数据学习交流群:251956502,群里都是学大数据开发的,如果你正在学习大数据,小编欢迎你加入,大家都是软件开发党,不定期分享干货(只有大数据软件开发相关的),包括我自己整理的一份最新的大数据进阶资料和高级开发教程,欢迎进阶中和进想深入大数据的小伙伴加入。

  

2, Linux命令

  

许多大数据开发通常是在Linux环境下进行的,相比Linux操作系统,Windows操作系统是封闭的操作系统,开源的大数据软件很受限制,因此,想从事大数据开发相关工作,还需掌握Linux基础操作命令。

  

3, Scala   

Scala是一门多范式的编程语言,一方面继承了多种语言中的优秀特性,一方面又没有抛弃Java这个强大的平台。大数据开发重要框架火花就是采用Scala语言设计的,想要学好火花框架,拥有Scala基础是必不可少的,因此,大数据开发需掌握Scala编程基础知识!

  

4, Python与数据分析

  

Python是面向对象的编程语言,拥有丰富的库,使用简单,应用广泛,在大数据领域也有所应用,主要可用于数据采集,数据分析以及数据可视化等,因此,大数据开发需学习一定的Python知识。

  

二、数据采集类工具

  

1, Nutch   

Nutch是一个开源Java实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具,包括全文搜索和Web爬虫。

  

2, Scrapy   

Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,可以应用在数据挖掘,信息处理或存储历史数据等一系列的程序中。大数据的采集需要掌握Nutch与Scrapy爬虫技术。

  

三、ETL工具

  

1, Sqoop   

Sqoop是一个用于在Hadoop和关系数据库服务器之间传输数据的工具。它用于从关系数据库(如MySQL, Oracle)导入数据到Hadoop的HDFS,并从Hadoop文件系统导出到关系数据库,学习使用Sqoop对关系型数据库数据和Hadoop之间的导入有很大的帮助。

  

2,水壶   

水壶是一个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。作为Pentaho的一个重要组成部分,现在在国内项目应用上逐渐增多,其数据抽取高效稳定。

  

四,数据存储类工具

  

1, Hadoop分布式存储与计算

  

Hadoop实现了一个分布式文件系统(Hadoop分布式文件系统),简称HDFS.Hadoop的框架最核心的设计就是:HDFS和MapReduce.HDFS为海量的数据提供了存储,MapReduce则为海量的数据提供了计算,因此,需要重点掌握。

  

除此之外,还需要掌握Hadoop集群,Hadoop集群管理,以纱及Hadoop高级管理等相关技术与操作!

  

2,蜂巢   

蜂巢是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行。相对于用Java代码编写MapReduce来说,蜂巢的优势明显:快速开发,人员成本低,可扩展性(自由扩展集群规模),延展性(支持自定义函数)。十分适合数据仓库的统计分析。对于蜂巢需掌握其安装,应用及高级操作等。

大数据平台最常用的30款开源工具