大数据学习路线(我自己的零基础到现在的总结)

大数据要怎样学:数据科学特点与大数据学习误区

(1)大数据学习要事务驱动,不要技能驱动:数据科学的中心才能是处理问题。 大数据的中心方针是数据驱动的智能化,要处理详细的问题,不管是科学研讨问题,仍是商业决议计划问题,抑或是政府办理问题。 所以学习之前要清晰问题,了解问题,所谓问题导向、方针导向,这个清晰之后再研讨和挑选合适的技能加以使用,这样才有针对性,言必hadoop,spark的大数据剖析是不谨慎的。 不同的事务范畴需求不同方向理论、技能和东西的支撑。如文本、网页要自然言语建模,随时刻改动数据流需求序列建模,图画音频和视频多是时空混合建模;大数据处理如搜集需求爬虫、倒入导出和预处理等支撑,存储需求分布式云存储、云核算资源办理等支撑,核算需求分类、猜测、描绘等模型支撑,使用需求可视化、常识库、决议计划点评等支撑。所以是事务决议技能,而不是依据技能来考虑事务,这是大数据学习要防止的第一个误区。

(2)大数据学习要善用开源,不要重复造轮子:数据科学的技能基因在于开源。IT前沿范畴的开源化已成不可逆转的趋势,Android开源让智能手机平民化,让咱们跨入了移动互联网年代,智能硬件开源将带领跨入物联网年代,以Hadoop和Spark为代表的大数据开源生态加快了去IOE(IBM、ORACLE、EMC)进程,倒逼传统IT巨子拥抱开源,谷歌和OpenAI联盟的深度学习开源(以Tensorflow,Torch,Caffe等为代表)正在加快人工智能技能的开展。 数据科学的标配言语R和Python更是因开源而生,因开源而昌盛,诺基亚因没掌握开源大势而式微。为什么要开源,这得益于IT开展的工业化和构件化,各大范畴的根底技能栈和东西库现已很老练,下一阶段就是怎样快速组合、快速搭积木、快速产出的问题,不管是linux,anroid仍是tensorflow,其根底构件库根本就是使用已有开源库,结合新的技能办法完结,组合构建而成,很少在重复造轮子。 别的,开源这种众包开发形式,是一种团体才智编程的表现,一个公司无法积累全球工程师的开发智力,而一个GitHub上的明星开源项目能够,所以要善用开源和团体才智编程,而不要重复造轮子,这是大数据学习要防止的第二个误区。

(3)大数据学习要以点带面,不贪大求全:数据科学要掌握好碎片化与体系性。依据前文的大数据技能体系剖析,咱们能够看到大数据技能的深度和广度都是传统信息技能难以比较的。 咱们的精力很有限,短时刻内很难掌握多个范畴的大数据理论和技能,数据科学要掌握好碎片化和体系性的联系。 何为碎片化,这个碎片化包含事务层面和技能层面,大数据不只是谷歌,亚马逊,BAT等互联网企业,每一个职业、企业里面都有它去重视数据的痕迹:一条出产线上的实时传感器数据,车辆身上的传感数据,高铁设备的运转状态数据,交通部门的监控数据,医疗机构的病例数据,政府部门的海量数据等等,大数据的事务场景和剖析方针是碎片化的,而且彼此之间剖析方针的差异很大;别的,技能层面来讲,大数据技能就是万金油,全部效劳于数据剖析和决议计划的技能都归于这个范畴,其技能体系也是碎片化的。 那怎样掌握体系性呢,不同范畴的大数据使用有其共性关键技能,其体系技能架构也有相通的当地,如体系的高度可扩展性,能进行横向数据大规划扩张,纵向事务大规划扩展,高容错性和多源异构环境的支撑,对原有体系的兼容和集成等等,每个大数据体系都应该考虑上述问题。怎么掌握大数据的碎片化学习和体系性规划,离不开前面提出的两点误区,主张从使用切入、以点带面,先从一个实践的使用范畴需求动身,搞定一个一个技能点,有必定功底之后,再触类旁通横向扩展逐渐了解其体系性技能。

(4)大数据学习要勇于实践,不要坐而论道:数据科学仍是数据工程? 大数据只要和特定范畴的使用结合起来才能发生价值,数据科学仍是数据工程是大数据学习要清晰的关键问题,搞学术发paper数据科学OK,但要大数据使用落地,如果把数据科学效果转化为数据工程进行落地使用,难度很大,这也是许多企业质疑数据科学价值的原因。

且不说这种转化需求一个过程,从业人员自身也是需求审视考虑的。 工业界包含政府办理机构怎么引进研讨智力,数据剖析怎么转化和价值变现?数据科学研讨人员和企业大数据体系开发工程人员都得想想这些关键问题。 现在数据工程要处理的关键问题主线是数据(Data)>常识(Knowledge)>效劳(Service),数据搜集和办理,发掘剖析获取常识,常识规律进行决议计划支撑和使用转化为继续效劳。处理好这三个问题,才算大数据使用落地,那么从学习视点讲,DWS就是大数据学习要处理问题的总方针,特别要重视数据科学的实践使用才能,而且实践要重于理论。

从模型,特征,误差,试验,测试到使用,每一步都要考虑是否能处理现实问题,模型是否具有可解说性,要勇于测验和迭代,模型和软件包自身不是全能的,大数据使用要重视鲁棒性和实效性,温室模型是没有用的,练习集和测试集就OK了吗? 大数据怎么走出试验室和工程化落地,一是不能闭门造车,模型收敛了就想当然万事大吉了;二是要走出试验室充沛与业界实践决议计划问题对接;三是相关联系和因果联系都不能少,不能描绘因果联系的模型无助于处理现实问题;四是重视模型的迭代和产品化,继续晋级和优化,处理新数据增量学习和模型动态调整的问题。

所以,大数据学习必定要清楚我是在做数据科学仍是数据工程,各需求哪些方面的技能才能,现在处于哪一个阶段等,否则为了技能而技能,是难以学好和用好大数据的。

大数据现已火了很久了,一向想了解它学习它成果没时刻,过年后总算有时刻了,了解了一些材料,结合我自己的状况,开始整理了一个学习道路,有问题的期望大神点拨。 学习道路 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: 开源的云核算办理渠道项目

发布了37 篇原创文章 · 获赞 1 · 访问量 3587

猜你喜欢

转载自blog.csdn.net/juan777/article/details/104155006
今日推荐