想要学好大数据需掌握这十二大技术

2018-10-12 17:24:27 来源:elecfans
标签:

 

大数据是对海量数据进行存储、计算、统计、分析处理的一系列处理手段,处理的数据量通常是TB级,甚至是PB或EB级的数据,这是传统数据处理手段所无法完成的,其涉及的技术有分布式计算、高并发处理、高可用处理、集群、实时性计算等,汇集了当前IT领域热门流行的IT技术。

 

想要学好大数据需掌握以下技术:

 

1. Java编程技术

Java编程技术是大数据学习的基础,Java是一种强类型语言,拥有极高的跨平台能力,可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等,是大数据工程师最喜欢的编程工具,因此,想学好大数据,掌握Java基础是必不可少的!

 

 

2.Linux命令

对于大数据开发通常是在Linux环境下进行的,相比Linux操作系统,Windows操作系统是封闭的操作系统,开源的大数据软件很受限制,因此,想从事大数据开发相关工作,还需掌握Linux基础操作命令。真正的大数据工程师,linux命令是横着写很长,不是一句一句执行的,尤其是大数据工程师需要检测cpu,内存,网络IO等各种开销,就需要掌握各种命令,命令主要分为这几种,一是查看各种进程的相关信息,其中包括cpu或者内存等从高到底,或者是前十等等。二是排查故障,结合linux和java的各种命令快速定位到问题出现的关键地方。三是排除系统长时间使用过慢原因等。

 

 

3.Hadoop

Hadoop是大数据开发的重要框架,Hadoop分HDFS和Map/reduce,HDFS是Hadoop的主要分布式存储。一个HDFS集群主要由一个NameNode(管理文件系统的元数据)和存储实际数据的DataNode组成。HDFS为海量的数据提供了存储,实现了存取优化。Hadoop的MapReduce是一个软件框架,为海量的数据提供了计算,可方便地编写应用程序处理大量的数据(多是TB数据集),因此,需要重点掌握,除此之外,还需要掌握Hadoop集群、Hadoop集群管理、YARN以及Hadoop高级管理等相关技术与操作!

 

 

4.HBase

HBase是Hadoop的数据库,HBase是一个分布式的、面向列的开源数据库,它提供了随机,实时读/写访问大数据,并进行了优化承载非常大的数据表 - 数十亿行乘以百万列 -,实现服务器硬件之上集群。不同于一般的关系数据库,更适合于非结构化数据存储的数据库,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,在其核心Apache HBase是一个分布式的面向列的数据库,属于谷歌的Bigtable:Apache HBase在Hadoop和HDFS之上提供了类似于Bigtable的能力。大数据开发需掌握HBase基础知识、应用、架构以及高级用法等。

 

 

5.Hive

Hive是基于Hadoop的一个数据仓库工具,方便简单的数据汇总工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行,十分适合数据仓库的统计分析。同时,这语言也可以让传统的map / reduce程序员嵌入他们的自定义maperhe reducer.对于Hive需掌握其安装、应用及高级操作等。

 

 

6.ZooKeeper

ZooKeeper是Hadoop和Hbase的重要组件,是一个为分布式应用提供一致性服务的软件,一种集中式的服务(负载平衡器),提供的功能包括:配置维护、域名服务、分布式同步、组件服务等,并提供团体服务。Apache ZooKeeper协调运行在Hadoop集群上的分布式应用程序。在大数据开发中要掌握ZooKeeper的常用命令及功能的实现方法。

 

7.phoenix

phoenix是用Java编写的基于JDBC API操作HBase的开源SQL引擎,其具有动态列、散列加载、查询服务器、追踪、事务、用户自定义函数、二级索引、命名空间映射、数据收集、行时间戳列、分页查询、跳跃查询、视图以及多租户的特性,大数据开发需掌握其原理和使用方法。

 

8.Avro与Protobuf

Avro与Protobuf均是数据序列化系统,可以提供丰富的数据结构类型,十分适合做数据存储,还可进行不同语言之间相互通信的数据交换格式,学习大数据,需掌握其具体用法。

 

9.Cassandra

Apache Cassandra是一个高性能,可扩展性和高线性可用的数据库,可以运行在服务器或云基础设施上,为关键任务数据提供完美的平台,。 Cassandra支持多个数据中心之间复制是同类产品中最好,为用户提供更低的延迟,甚至不惧怕停电。 Cassandra的数据模型提供了便利的列索引,高性能试图和强大的内置缓存。

 

 

10.Kafka

Kafka是一种高吞吐量的分布式发布订阅消息系统,其在大数据开发应用上的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消息。大数据开发需掌握Kafka架构原理及各组件的作用和使用方法及相关功能的实现!

 

 

11.Chukwa

是一个开源大型分布式系统的数据采集监视系统。它是建立在Hadoop分布式文件系统(HDFS)和Map/ Reduce框架之上,并继承了Hadoop的可伸缩性和健壮性。 Chukwa还包括一个灵活而强大的工具包,用于显示,监测和分析结果,以便做出最佳地使用所收集的数据。

 

12.Flume

Flume是一款高可用、高可靠、分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。大数据开发需掌握其安装、配置以及相关使用方法。

 
关注与非网微信 ( ee-focus )
限量版产业观察、行业动态、技术大餐每日推荐
享受快时代的精品慢阅读
 

 

继续阅读
企业如何利用机器学习、云计算和大数据等新兴技术?

从客户服务聊天机器人到数据分析,再到预测性建议、深度学习和人工智能,企业领导者都将人工智能视为一种必不可少的工具。

在争论“谁才是最好的编程语言”时,你可曾想过机器人编程该用何种语言?
在争论“谁才是最好的编程语言”时,你可曾想过机器人编程该用何种语言?

机器人编程语言最早于20世纪70年代初期问世,到目前为止已有多种编程语言出现,在众多机器人编程语言中究竟哪种编程语言最好呢?这个问题困扰了很多新手学者,但遗憾的是,这是一个没有准确答案的问题,你问不同的人会得到不同的答案,对于机器人学者来说建立“编程思维“才是最关键的。

大数据未来应用的七大发展方向分别是哪些?

物联网、智慧城市、增强现实(AR)与虚拟现实(VR)、区块链技术、语音识别、人工智能、数字汇流是大数据未来应用的七大发展方向。

在5G时代,大数据企业将迎来哪些机会?

进入2019,5G越发成为焦点,据大部分国家的5G路线图,2019年5G将进行商用测试。近日,全球第一个基于3GPP最新协议版本的5G手机外场通话,但是对于5G到底可以如何应用,大家面前还是一团迷雾。

基于嵌入式系统的汽车移动终端软件系统设计

实时操作系统是嵌入式应用软件的基础和开发平台,应用程序都是建立在它之上。实时嵌入式操作系统的种类繁多,大体上可分为两种:商用型和免费型。商用型的实时操作系统功能稳定、可靠,有完善的技术支持和售后服务,但价格昂贵。免费型的实时操作系统在价格方面具有优势,目前主要有RTOS、μC/OS等。

更多资讯
PLC的面向对象编程实现方式

面向对象编程是计算机高级语言的一种先进的编程模式,在工业控制系统的PLC程序中也可以采用这种设计思想,虽然我们无法实现面向对象的很多优秀特点如“继承”,甚至于它根本就不具备面向对象编程语言的特点,但面向对象编程的基本概念就是类和类的实例(即对象),我们只需要使用这种概念就可以了。

ASIC项目瀑布式开发流程详解

最近收拾书架,翻出一张多年以前的ASIC项目开发流程图,一起回顾一下。

智能门锁不安全?工程师自己造了一个AI人脸识别门锁
智能门锁不安全?工程师自己造了一个AI人脸识别门锁

展示了AI如何在Ultra96和Intel Movidius NCS以及Tensorflow Inception Facenet上运行。 该项目可以扩展到使用面部识别来解锁,记录进出情况,打开不同的灯光场景。

芯片厂商营收整体看衰赛灵思却逆势增长34%,凭什么
芯片厂商营收整体看衰赛灵思却逆势增长34%,凭什么

赛灵思可编程芯片产品市场的不断增长推动它的发展壮大,5G网络的推出也是它继续前行的助推器。

使用Vivado HLS在ZYNQ-7000上开发OPENCV的教程

OPENCV(Open Source Computer Vision)被广泛的使用在计算机视觉开发上。使用Vivado HLS视频库在zynq-7000全可编程soc上加速OPENCV 应用的开发,将大大提升我们的计算机视觉开发。

电路方案