前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何从零开始规划大数据学习之路!

如何从零开始规划大数据学习之路!

原创
作者头像
用户2292346
修改2019-06-12 18:09:05
5560
修改2019-06-12 18:09:05
举报

学习大数据技术,首先要明确大数据的概念。

大数据的概念作者认为有如下几点:

1.数据的来源多样性。例如关系数据库+文本+excel等

2.数据量大。TB级别的数据。

3.业务应用领域。实时性高与实时性不高的应用。

学习大数据应该就是要解决上述三个技术问题。

针对第一个问题,就是ETL技术-数据的抽取,清洗,加载。传统数据抽取、清洗、加载是无法做到的。例如一个1TB的数据,需要抽取一些客户的基本信息。上万的文件,多种数据库,每个数据库有很多节点等,这些问题如何解决。第二是时间问题,如果这个ETL过长需要半个月时间,那么就没有意义的。

针对第二个问题,数据如何存储,如何查询。TB级的数据如何存储,如何查询,面对亿级别的数据集合,如何提升查询速度。

针对第三个问题,实时分析系统和非实时分析系统。实时分析系统我们如何解决在海量的数据中,及时根据数据分析模型,得出分析报告。非实时系统我们技术要求可能会低些。

  大数据已经火了很久了,一直想了解它学习它结果没时间,过年后终于有时间了,了解了一些资料,结合我自己的情况,初步整理了一个学习路线,有问题的希望大神指点。

学习路线

Linux(shell,高并发架构,lucene,solr)

Hadoop(Hadoop,HDFS,Mapreduce,yarn,hive,hbase,sqoop,zookeeper,flume)

机器学习(R,mahout)

Storm(Storm,kafka,redis)

Spark(scala,spark,spark core,spark sql,spark streaming,spark mllib,spark graphx)

Python(python,spark python) 

云计算平台(docker,kvm,openstack)

名词解释

一、Linux

lucene: 全文检索引擎的架构

solr: 基于lucene的全文搜索服务器,实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面。

二、Hadoop

hadoop common

HDFS: 分布式存储系统,包含NameNode,DataNode。NameNode:元数据,DataNode。DataNode:存数数据。

yarn: 可以理解为MapReduce的协调机制,本质就是Hadoop的处理分析机制,分为ResourceManager NodeManager。

MapReduce: 软件框架,编写程序。

Hive: 数据仓库 可以用SQL查询,可以运行Map/Reduce程序。用来计算趋势或者网站日志,不应用于实时查询,需要很长时间返回结果。

HBase: 数据库。非常适合用来做大数据的实时查询。Facebook用Hbase存储消息数据并进行消息实时的分析

ZooKeeper: 针对大型分布式的可靠性协调系统。Hadoop的分布式同步等靠Zookeeper实现,例如多个NameNode,active standby切换。

Sqoop: 数据库相互转移,关系型数据库和HDFS相互转移

Mahout: 可扩展的机器学习和数据挖掘库。用来做推荐挖掘,聚集,分类,频繁项集挖掘。

Chukwa: 开源收集系统,监视大型分布式系统,建立在HDFS和Map/Reduce框架之上。显示、监视、分析结果。

Ambari: 用于配置、管理和监视Hadoop集群,基于Web,界面友好。

二、Cloudera

Cloudera Manager: 管理 监控 诊断 集成

Cloudera CDH:(Cloudera's Distribution,including Apache Hadoop) Cloudera对Hadoop做了相应的改变,发行版本称为CDH。

Cloudera Flume: 日志收集系统,支持在日志系统中定制各类数据发送方,用来收集数据。

Cloudera Impala: 对存储在Apache Hadoop的HDFS,HBase的数据提供直接查询互动的SQL。

Cloudera hue: web管理器,包括hue ui,hui server,hui db。hue提供所有CDH组件的shell界面的接口,可以在hue编写mr。

三、机器学习/R

R: 用于统计分析、绘图的语言和操作环境,目前有Hadoop-R

mahout: 提供可扩展的机器学习领域经典算法的实现,包括聚类、分类、推荐过滤、频繁子项挖掘等,且可通过Hadoop扩展到云中。

四、storm

Storm: 分布式,容错的实时流式计算系统,可以用作实时分析,在线机器学习,信息流处理,连续性计算,分布式RPC,实时处理消息并更新数据库。

Kafka: 高吞吐量的分布式发布订阅消息系统,可以处理消费者规模的网站中的所有动作流数据(浏览,搜索等)。相对Hadoop的日志数据和离线分析,可以实现实时处理。目前通过Hadoop的并行加载机制来统一线上和离线的消息处理

Redis: 由c语言编写,支持网络、可基于内存亦可持久化的日志型、key-value型数据库。

五、Spark

Scala: 一种类似java的完全面向对象的编程语言。

Spark: Spark是在Scala语言中实现的类似于Hadoop MapReduce的通用并行框架,除了Hadoop MapReduce所具有的优点,但不同于MapReduce的是job中间输出结果可以保存在内存中,从而不需要读写HDFS,因此Spark能更好的适用于数据挖掘与机器学习等需要迭代的MapReduce算法。可以和Hadoop文件系统并行运作,用过Mesos的第三方集群框架可以支持此行为。

Spark SQL:

Spark Streaming: 一种构建在Spark上的实时计算框架,扩展了Spark处理×××式数据的能力。

Spark MLlib: MLlib是Spark是常用的机器学习算法的实现库,目前(2014.05)支持二元分类,回归,聚类以及协同过滤。同时也包括一个底层的梯度下降优化基础算法。MLlib以来jblas线性代数库,jblas本身以来远程的Fortran程序。

Spark GraphX: GraphX是Spark中用于图和图并行计算的API,可以在Spark之上提供一站式数据解决方案,可以方便且高效地完成图计算的一整套流水作业。

jblas: 一个快速的线性代数库(JAVA)。基于BLAS与LAPACK,矩阵计算实际的行业标准,并使用先进的基础设施等所有的计算程序的ATLAS艺术的实现,使其非常快。

Fortran: 最早出现的计算机高级程序设计语言,广泛应用于科学和工程计算领域。

BLAS: 基础线性代数子程序库,拥有大量已经编写好的关于线性代数运算的程序。

LAPACK: 著名的公开软件,包含了求解科学与工程计算中最常见的数值线性代数问题,如求解线性方程组、线性最小二乘问题、特征值问题和奇异值问题等。

ATLAS: BLAS线性算法库的优化版本。

Spark Python: Spark是由scala语言编写的,但是为了推广和兼容,提供了java和python接口。

六、Python

Python: 一种面向对象的、解释型计算机程序设计语言。

七、云计算平台

Docker: 开源的应用容器引擎 kvm: (Keyboard Video Mouse) openstack:  开源的云计算管理平台项目

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
专用宿主机
专用宿主机(CVM Dedicated Host,CDH)提供用户独享的物理服务器资源,满足您资源独享、资源物理隔离、安全、合规需求。专用宿主机搭载了腾讯云虚拟化系统,购买之后,您可在其上灵活创建、管理多个自定义规格的云服务器实例,自主规划物理资源的使用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档