200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 后盾网php实战教程 大数据主要学习哪些内容 – PHP基础 – 前端 php 无法定位程序输入点

后盾网php实战教程 大数据主要学习哪些内容 – PHP基础 – 前端 php 无法定位程序输入点

时间:2020-08-01 00:13:54

相关推荐

后盾网php实战教程 大数据主要学习哪些内容 – PHP基础 – 前端 php 无法定位程序输入点

偶前面是做的Java后端,后续才转的大数据,所以一些Java开发所需要的东西自己也有学习过,也都是按照正常的路线走的,JavaSE阶段,然后数据库,SSM框架,接着做了一些网上找的项目,之后发现对大数据比较感兴趣,就开始找大数据相关的资料学习,看视频,看博客,敲代码,前期大概花了3-4个月吧(公众号的这些资料就是偶当时看过的),也是一步步艰难走过来的,刚刚开始接触大数据相关的东西时,一度怀疑这么多东西自己能否学得完,是不是能用得到,学完又忘了,忘了又回头看,不过还好,坚持过来了,还好没有放弃,工作也还ok,找的大数据开发岗,待遇也还不错吧。

下面就说一下偶自己从Java开发到大数据开发的曲折学习之路(狗头保命.jpg)。因为偶现在是做大数据相关的工作了,所以Java后端涉及到的一些SSM框架等知识点偶就不介绍了,毕竟后续一段时间也没有做了。自己看过的大数据学习相关的视频+资料大概是200G-300G吧,从Linux->Hadoop->。。。->Spark->项目,还有就是一些面试文档,面经等。一些视频看了两遍或者更多,跟着学,跟着敲代码,做项目,准备面试。涉及到需要学习的东西包括:JavaSE,数据结构与算法(计算机行业必备),MySQL,Redis,ES(数据库这些可以看项目,也可以自己熟练一两个),Linux,Shell(这个可以后期补),Hadoop,Zookeeper,Hive,Flume,Kafka,HBase,Scala(Spark是Scala写的,会Scala做相关的项目会更容易入手),Spark,Flink(这个是找工作时有面试官问过几次liao不liao解,所以找完工作才开始接触学习),相关项目。

编程语言阶段学习

  如果是零基础的话,建议还是从视频开始入门比较好,毕竟一上来就看教材,这样有些代码的来龙去脉可能不是很了解。如果是有一些编程语言基础的话,从视频开始也会更简单,一些for、while循环你都知道了,学起来也会快很多。  JavaSE偶是选择的某马刘意的为主,因为刚刚开始学Java看过一本从《Java从入门到精通》,没什么感觉,后续又在看了某课网的Java初级视频,还是没感觉出来啥(当时就有点怀疑自己了。。。),可能有点没进入状态。  还好后续找了某马刘意老师的JavaSE视频(偶是看的版本,那时候19版还没出),觉得他讲的真的是很好很详细,每个知识点都会有例子,也都会带你敲代码,做测试,可能前面有C语言基础,然后也看过Java的一些语法,所以学起来还是比较顺利,后面的IO流、多线程等知识点时,也有看书看博客,或者看看其他老师的课程,讲解的可能自己比较容易接受就可以,反正都是多尝试(下面会给出视频链接),尽量懂一些,后续可以回头来复习。JavaSE相关的视频,先看一遍,后续有时间建议再看一遍,而且这些经典的视频,看两遍真的是享受。  如果有一定基础了的,JavaSE前面七八天的视频可以加速看,但是不懂的一定要停下开仔细想想,零基础的还是尽量不要加速吧,慢慢来稳些。后面的视频建议还是跟着视频来,尽量不要加速,代码尽量都敲一敲,第一遍基本上一个月到一个半月可以结束。  JavaSE可以说是很基础也很重要的东西,主要重点包括面向对象、集合(List、Map等),IO流,String/StringBuilder/StringBuffer、反射、多线程,这些最好是都要熟悉一些,面试也是重点。  JavaSE之后,如果你是要走前端或后端开发路线的话,可以跟着一些网上的视频继续学习,这里偶就不多做介绍了。

===========分割线,Scala可以后续Spark阶段再接触学习=============

  Scala的学习,Scala是一门多范式 (multi-paradigm) 的编程语言,Scala支持面向对象和函数式编程,最主要的是后续Spark的内容需要用到Scala,所以前面学习了JavaSE,到Spark学习之前,再把Scala学习一波,美滋滋,而且Scala可以和Java进行无缝对接,混合使用,更是爽歪歪。后续Spark学习时基本都是用的Scala,也可能是和Java结合使用,所以Spark之前建议还是先学一波Scala,而且Scala用起来真是很舒服(wordcount一行代码搞定),适合迭代式计算,对数据处理有很大帮助,不过Scala看代码很容易看懂,但是学起来还是挺难的,比如样例类(case class)用起来真是nice,但是隐式转换学起来就相对比较难。学习Scala的建议:1. 学习scala 特有的语法,2. 搞清楚scala和java区别,3. 了解如何规范的使用scala。Scala对学习Spark是很重要的(后面Flink也是要用),虽然现在很多公司还是用Java开发比较多,而且Spark是Scala写的,如果要读源码,会Scala还是很重要的(至少要看得懂代码)。  Scala主要重点包括:隐式转换和隐式参数、模式匹配、函数式编程。这里偶看的是某硅谷韩老师的Scala视频,韩老师讲的真的很不错,五星推荐,哈哈。  也许有人会觉得Python也是需要的,但是学习阶段,可能用Java还是比较多,面试也基本都是问Java相关的内容,所以Python后续工作会用到的话,再看看Python的内容吧。

大数据框架阶段学习

  大数据这方面的知识点自己可以说真的是从零开始的,刚刚开始学那会Linux基本都没用过,心里那个虚啊,而且时间也紧迫,想起来都是一把辛酸泪。  刚刚开始学的时候,看了厦门大学林子雨的《 大数据技术原理与应用》课程,可能这个课程是面对上课的,所以看了一些,感觉对自己帮助不是很大(并不是说课程不好,可能不太适合自己,如果是要了解理论知识,很透彻,但是俺时间紧迫啊),所以就继续在网上找视频,然后发现某硅谷的培训视频很多人去参加,而且知识点也很齐全,大数据相关组件都有讲课,还有一些项目比较好,所以就找了它相关的视频,当时看的是的,所以视频不算旧。  来一张推荐系统架构的图,先看看

  一般来说,Flume+Kafka对数据进行采集聚合传输,一方面Spark对实时数据进行处理,传输给相应的数据处理模块(比如实时数据处理的算法模块,Spark也有提供常见的机器学习算法的程序库),另一方面采集的数据也可以放入数据库(HBase、MongoDB等)中,后续MapReduce对离线数据进行离线处理,数据处理完毕用于后续的使用,数据采集处理的流程大概就是这样。如果是推荐系统,实时推荐会给用户产生实时的推荐结果,让用户进行查阅选择,比如你在界面浏览了或者看了新的物品,然后刷新下界面,可能给你展示的东西就有一些变成跟你刚刚浏览的相关了。离线推荐的话主要是对离线数据进行处理,为物品或种类做出相似的推荐,如果后续用户搜索相应的物品时,给用户展示相应的产品。

  大数据学习路线:Linux -> Hadoop -> Zookeeper -> Hive -> Flume -> Kafka -> HBase -> Scala -> Spark -> 项目 – > Flink( 如果需要学习Storm,在Spark前面学习)

一、Linux(基本操作)

  一般大家使用的都是虚拟机来进行操作,所以要安装VM( Virtual Machine),偶使用的是CentOS,所以VM和CentOS都要跟着安装好,跟着视频操作,一定要动手实践,将一些Linux基本命令熟练掌握,一些VIM编辑器的命令也要会用,做相应的一些配置,使用SecureCRT来做远程登录操作(也可以使用其他的,自己顺手就行)。再强调一遍,基本操作命令尽量熟练一点,如果一下记不住,打印一些常用的,自己看看,多用多实践,慢慢就会用了。还有一些软件包的下载安装卸载等,跟着操作一遍,熟悉下,后续都会使用,Shell编程可以后续补。

二、Hadoop(重点中的重点)

  Hadoop是一个分布式系统基础框架,用于主要解决海量数据的存储和海量数据的分析计算问题,也可以说Hadoop是后续整个集群环境的基础,很多框架的使用都是会依赖于Hadoop。主要是由HDFS、MapReduce、YARN组成。这个部分安装Hadoop,Hadoop的三个主要组成部分是重点,对他们的概念要理解出来,知道他们是做什么的,搭建集群环境,伪分布式模式和完全分布式模式的搭建,重要的是完全分布式的搭建,这些部分一定要自己动手实践,自己搭建集群,仔细仔细再仔细,Hadoop的NameNode,DataNode,YARN的启动关闭命令一定要知道,以及他们的启动关闭顺序要记住,不要搞混。后续视频会有一些案例操作,跟着写代码,做测试,把基本环境都配置好,后续这个集群(完全分布式需要三台虚拟机)要一直使用。

三、Zookeeper

  Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目。分布式安装ZK,对ZK有一定的了解就可以了,了解它的应用场景,以及内部原理,跟着做一些操作,基本上有一些了解即可。

四、Hive(重点)

  Hive是基于Hadoop的数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类SQL查询功能。Hive的安装,它的数据类型,以及它的数据定义、数据操作有较好的了解,怎么操作表(创建表、删除表,创建什么类型的表,他们有什么不同),怎么操作数据(加载数据,下载数据,对不同的表进行数据操作),对数据的查询一定要进行实践操作,以及对压缩方式和存储格式要有一些了解,用到时不懂也可以去查,最好是能理解清楚。这部分有什么面试可能会问,所以视频后续的面试讲解可以看看,理解清楚。

五、Flume

  Flume是一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统。对于Flume,对它的组成架构,以及对Flume Agent的内部原理要理解清楚,Source、Channel、Sink一定要知道它们的各种类型以及作用,有哪些拓扑结构是常见常用的,例如一对一,单Source、多Channel、多Sink等,它们有什么作用,要理解清楚。还有一个重点,就是对Flume的配置文件一定要了解清楚,不懂的可以上官网查看案例,对于不同的情况,它的配置文件要做相应的修改,才能对数据进行采集处理,视频中的实践案例一定要跟着做。

六、Kafka(重点)

  Kafka是一个分布式消息队列,用来缓存数据的。比如说实时计算中可以通过Flume+Kafka对数据进行采集处理之后,Spark Streaming再使用Kafka相应的Topic中的数据,用于后续的计算使用。对于Kafka,要理解Kafka的架构,什么是Kafka,为什么需要Kafka,应用场景。基本的命令行操作要掌握,比如怎么创建删除Topic,怎么通过生产者生成数据,消费者怎么消费数据等基本操作,官网也是有一些案例可以查阅的。

七、HBase(重点)

  HBase是一个分布式的、基于列存储的开源数据库。HBase适合存储PB级别的海量数据,也可以说HBase是很适合大数据的存储的,它是基于列式存储数据的,列族下面可以有非常多的列,列族在创建表的时候就必须指定。所以对HBase的数据结构要有一定的理解,特别是RowKey的设计部分(因为面试被问到过,咳咳,所以点一下),对于它的原理要了解,一些基本操作也要都会,比如创建表,对表的操作,基本的API使用等。

八、Spark(重点中的重点)

  Spark是快速、易用、通用的大数据分析引擎。一说到Spark,就有一种哪哪都是重点感觉,哈哈。  Spark的组成可以看下图

  Spark是基于内存计算的,对于数据的处理速度要比MapReduce快很多很多,而且数据挖掘这些都是要对数据做迭代式计算,MapReduce对数据的处理方式也不适合,而Spark是可以进行迭代式计算,很适合数据挖掘等场景。Spark的Spark SQL能够对结构化数据进行处理,Spark SQL的DataFrame或DataSet可以作为分布式SQL查询引擎的作用,可以直接使用Hive上的表,对数据进行处理。Spark Streaming主要用于对应用场景中的实时流数据进行处理,支持多种数据源,DStream是Spark Streaming的基础抽象,由一系列RDD组成,每个RDD中存放着一定时间段的数据,再对数据进行处理,而且是基于内存计算,速度快,所以很适合实时数据的处理。Spark MLlib提供常见的机器学习(ML)功能的程序库。包括分类、回归、聚类、协同过滤等,还提供了模型评估、数据 导入等额外的支持功能。对Spark的核心组件、部署模式(主要是Standalone模式和YARN模式)、通讯架构、任务调度要有一定了解(面试问到了可以说一波),Spark Shuffle要好好理解,还有内存管理要知道,对Spark的内核原理一定要好好理解,不仅面试可能要用,以后工作也是有帮助的。

九、Flink(重点中的重点)

  Flink是一个框架和分布式处理引擎,用于对无界(有开始无结束)和有界(有开始有结束)数据流进行有状态计算。现在主要是阿里系公司使用的比较多,很多公司使用的还是Spark居多,而且Flink基本上都是和Spark很多功能大体上一样的,但是以后Flink和Spark孰强孰弱还有待时间的考验,不过Flink近几年越来越火了这是事实,所以如果有时间有精力的话,可以学一学Flink相关的内容也是很不错的。Spark和Flink主要都是在数据处理方面应用,在数据处理方面的话,离线数据处理:Flink暂时比不上Spark,Spark SQL优点在于可以和Hive进行无缝连接,Spark SQL可以直接使用Hive中的表;Flink暂时做不到这一步,因为官方不支持这一操作,Flink只能将数据读取成自己的表,不能直接使用Hive中的表。对于实时数据的处理:Flink和Spark可以说是平分秋色吧,而且Flink是以事件为驱动对数据进行处理,而Spark是以时间为驱动对数据进行处理,在一些应用场景中,也许Flink的效果比Spark的效果还要好些,因为Flink对数据更加的敏感。比如一秒钟如果触发了成千上万个事件,那么时间驱动型就很难对数据做细致的计算,而事件驱动型可以以事件为单位,一个个事件进行处理,相比而言延迟更低,处理效果更好。现在使用Flink的公司越来越多,有时间学习下,也算是有个准备。

项目阶段

  其实某硅谷的视频里面有很多大数据相关的项目,而且都是文档配代码的,B站上也有视频,学习期间可以跟着视频做两到三个项目,自己理清思路,把项目理解透彻,还是可以学到很多东西的。  根据自己情况,选择两到三个项目重点跟着做,理解透彻一点

大数据项目实战

  某硅谷的视频里面有很多大数据相关的项目,而且都是文档配代码的,学习期间可以跟着视频做两到三个项目,自己理清思路,把项目理解透彻,还是可以学到很多东西的。根据自己情况,选择两到三个项目重点跟着做,理解透彻一点。相关项目文档资料偶已经放到网盘,GongZhongHao回复相应关键字获取领取方式。   相关项目、涉及技术框架及其B站链接(B站链接主要是为了有些小伙伴网盘速度限制,这样就下载文档资料即可)

书籍

  书籍部分直接云盘链接保存即可,这里偶放两张Java开发和大数据开发偶自己的书单(很多,路漫漫,吾将上下而求索~)  Java后端书架:

  大数据书架:

  大概就这些,看完就需要很久了,大部分偶也是需要的时候看相应的部分,所以有时间可以好好看下,不然就需要哪一部分看哪一部分,有助于学习即可。

最后

  大数据开发也是需要编程基础的,并不是学会使用这些框架怎么样就可以了,所以对于编程语言,数据结构与算法,计算机网络这些基础也是要的,这些基础知识也有助于自己以后的发展,如果是应届生校招的话,面试基本上都是JavaSE和数据结构与算法等的知识点,还有大数据组件相关的知识点,以及对项目的理解,这些都是要自己面试前准备好的,多看面经,多找面试题看,面几次,心里有谱了,后续面试就好了。  不管是从事什么样的计算机相关的岗位,编程都是很重要的,数据结构与算法特别重要,还有就是leetcode等编程网站刷题,提升自己的编程思维,后续笔试面试都要要的。  要将一行行代码看做一叠叠rmb,但是一行行代码能不能转换成一叠叠rmb,自己就一定要:坚持,多敲代码;多敲代码,坚持;坚持。 

偶能在编程领域混成什么地位?

额。。。偶感觉这个问题的提问者可能是刚入行或者还是个学生。似乎是觉得能修复所有bug就像开挂一样。。。

事实上,一个系统中,没有被发现的bug,就不是bug。这应该大家都能理解吧?任何一个系统大家应该都不会觉得它是完美的,应该都是有bug的,可能因为触发条件非常偏门,所以绝大部分时间里都没有什么影响,所以这个bug不会被发现。你不能定义一个你没发现的bug为bug。

那么至于发现的bug,那肯定是有某些方面的影响了。它们中绝大部分会被修复,而剩下的部分可能会做一个权衡,一般是时间与这个bug的严重程度。但是不代表这个bug是不可修复的。

所以,大部分程序员,是100%能够修复手里的bug的。至于说不能修复bug的,只能说明在编程方面还有缺陷,至少不是一个资深程序员。应该说大部分程序员,有多年工作经验的,都能100%修复bug。

熬过了催收的疯狂追债?

无论欠多少,早晚是要还的

自从底,偶公司倒闭以后,独自一人,离开偶的老家,来到浙江省义乌市,重新开始生活后,遇到过很多的负债人,少的欠了几十万,多的也有欠了近1000万的。好象欠债的人都喜欢跑到浙江来,刚开时,偶也有点好奇?后来才发现有几个原因:在浙江苏省生活,这里的商业气氛很浓,浙江是全国个收入最高的省,浙江是国内个体经济最发达的省,浙江是全国拥有豪车最多的省,浙江是电商与物流最发达的省,浙江对外来人员,政策很开放,也很包容,浙江人非常努力,什么温卅人做生意“三字口诀”,义乌人“鸡毛换糖”的故事。都是非常能激励人,也影响人。都知道浙江人经商很历害,一个七十岁的老人在干活,如果你不了解,可能这位老人就是拥有十几套房子的千万元户。夜排档上,穿着拖鞋喝着啤酒撸串的人,可能就是一位亿万富翁。早市夜市上摆摊的小姑娘,经常看到,有些还在上学未毕业,有的还开好车,车上带着货出来卖。

四十岁以上干体力活的人

尤其是外地人,大多数是在老家经商创业失败后,负债累累,然后和偶一样,选择换个环境生活,寻找机会再努力,争取早点还清欠债。在物流做临时工时,看到稍微有点年纪的,随随便便一了解,就是这类人,曾经的辉煌己不再有,如今就为了生存,通过繁重体力的劳动,换取“几两碎银”。摆地摊的也一样,很多人都很拚,为了早市抢个好位置,生意能好一点,凌晨二三点就出发去市场占位置。夜市也是如此,五点以后才可以摆摊,吃过中饭以后,有人就去夜市上拉根线,或放个摆摊架,占好位置。偶认识的一起摆摊的,一对贵州夫妻负债七十多万,现在己还清了债,在金华首付款,买了一套房子。一位江西老表,人很好。在杭州市某商业区投资开了两个餐饮店,半年赔个精光,还欠了几十万债,老婆也离了,带着己成年的儿子,两个人在义乌摆摊挣钱,天气不好时,就去找临时工做。

欠了债先沉下心来思考一旦考虑好选择做什么剩下的就是赚钱,赚钱,再赚钱

现在还每天写程序代码?

从事软件开发多年,74年年龄上已经45+了,在国内这个年龄段还在专职写代码的已经不多了,国内软件经过几十年的发展,在中生代已经积累了大量程序员,由于早期软件的稀薄区域,创业比较容易,即使不去创业也能在新成立的公司里面担当非常重要职位,毕竟程序员的经验在项目实战中还是非常具备优势的,可能有经验的程序员一句话对于整个团队来讲可能会节省很大一部分资源。

从程序员的职业通道来讲,一般有两种,一种直接将技术进行到底,成为未来的技术专家,这点在国内还不是很成熟,在欧美很多40,50岁的程序员还在一线写代码,并且周围的人也会觉得非常正常,毕竟欧美的软件生态圈更加成熟化一点。另外一种是进入管理层面,先从技术管理层面入手,掌握了一定的管理技巧之后看看有没有机会继续向上走,这个通道相对变数比较多。很多人在第二通道之间选择一个折中就是纯粹的做技术管理,还能每天写代码,还能参与组员的管理工作,这也是大多数年龄大点程序员的选择一个职业通道。

45岁的年龄还在写代码难免还是有很多人觉得异常,目前国内程序员环境整体来讲中高级的数量稀缺,初级的程序员严重堆积,导致程序员更新的速度特别快,如果突然出现一个45岁还在写代码的人难免引起大家的侧目。如果是一个职位非常高的人写代码,可能大家心理上不会有太大的变动,如果是以普通程序员身份在写代码大家可能议论的就比较多了。

再过十年甚至更长的时间,国内老程序员的数量就会增加许多,那时的生态环境可能会改良不少,如果是真的喜欢写代码就随着自己的性子去做,其实也没有什么不好,毕竟是活给自己看的,完全不必在乎别人怎么看待你。如果是心理承受能力不行,建议选择转行做别的,或者尝试转化成管理试试,无论什么职业在年龄大了之后都会受到一定程度的影响,软件开发表现的更加明显。

很多还在一线城市程序员,都无法知道自己的未来在哪里,特别是互联网公司程序员的年轻化,很多公司对于加班程度也是非常的看重,甚至作为绩效考核的一部分,很多都是用身体在拼,为了家庭还得继续加班顶着,很多时候已经不是兴趣的方面的问题了。但还有一类程序员虽然年龄大了,还是在写代码并且还会赢得大家的尊敬,这就是技术能力比较强的,作为写了十几年代码的程序员,始终觉得程序员能力的高低和做过的项目以及平时的积累有着直接的关系,如果只是被动的加班不去完善自己的体系,水平高低是由有效的编程经验积累出来的。有效的积累多了自然就成为高手了,如果做的都是一些重复性的工作很难有实质性的提升,随着年龄的增长写的也都是一些相对比较容易取代的代码,那么竞争力自然大打折扣,希望能帮到你。

世界上多少国家用数字货币?

除了大家国家之外,世界上还有这些国家也发行了数字货币

2月20日,委内瑞拉推出“石油币”,作为法定数字货币领域中第一个吃螃蟹的国家,石油币可以说是世界上第一个有主权国家发行并具有自认资源作为支撑的加密数字货币

瑞典作为世界上最不依赖现金的国家,于2月19日,宣布测试央行数字货币E-Krona。由于瑞典传统法定货币是“克朗”,因此,瑞典央行将这一数字货币命名为“E-克朗”7月26日,菲律宾控股公司Aboitiz Equity Ventures旗下的菲律宾联合银行(Union Bank of the Philippines)推出了名为PHX的稳定币,将以该银行的储备作为后盾,与该国的法定货币菲律宾披索PHP挂钩。12月厄瓜多尔推出了“电子货币系统”,这是全球第一个拥有电子货币系统的国家。厄瓜多尔币是由厄瓜多尔政府中央银行发行的数字货币11月11日,突尼斯央行与俄罗斯公司Universa建立合作,通过Universa的区块链平台发行E-Dinar,以数字化其法币突尼斯第纳尔,突尼斯央行可以通过E-Dinar传统的突尼斯货币第纳尔转换成数字货币用于支付或转账。12月,塞内加尔央行发布基于区块链的数字货币E-CFA3月, 马绍尔群岛发不了数字货币Sovereign (简称s)作为法定货币

以上就是目前世界上发行数字货币的所有国家

以上就是关于后盾网php实战教程以及大数据主要学习哪些内容的相关回答,有更多疑问可以加微。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。