22年总结8月总结

一、知识点汇总

第一周8.7-8.11

  • 这周的学习内容 :linux入门 实操文件 Shell编程 Scala的基础入门

难点: Scala基础语法 Shell编程

个人理解

**Shell编程:**shell在我理解有点像python,脚本语言。但是和python比,语言的简洁性,可读性都很差。毕竟是脚本语言,一些比较复杂的代码和程序,写出来就很麻烦用shell。因此现在shell是有一个let 可以用c和java的语言,还是方便的。Shell 主要用来开发一些实用的、自动化的小工具,而不是用来开发具有复杂业务逻辑的中大型软件,因为他的代码我觉得写起来非常难受,应该在搭建环境和分析日志这类的场景,shell会有比较好的表现力吧,在Linux中Shell应该是很重要的一个章节,毕竟老师说使用 Shell 的熟练程度反映了你对 Linux 的掌握程度。

**Scala基础语法:**Scala刚入门的时候,使用非常的难受,在scala中有java和python的影子,但是又不一样,就导致刚开始经常写错,它的语言很简洁,Java8中的lambda就是借鉴scala的,所以如果学Java的时候Lambda学好的话,入门上手还是蛮快的。Scala是一种强数据类型的语言,变量声明了类型,就变不了了。改变的话,只能创造新的变量,原变量是改不了的。毕竟称为Java++,也有强转,但是比较麻烦,这种脚本语言类,学明白了掌握还是容易的,而且思路可以清晰。

自我周总结:

这周时间比较短,状态自己调整了两天,不过学习速度比之前有很大的提高,刚来集训,劲头比较足吧,寝室室友什么的也比较舒服,学习状态倒还是很满意的,这周主要是3天把Linux看完了,基本操作啊,对文件的实操。这方面之前就知道一些,看文档,一天能抵七八个小时的视频时间,后面的Shell编程,是仔细看了视频,因为有点奇怪,是脚本语言,写起来跟命令一样,然后看了一天的Scala编程,自己对语言可能比较敏感吧,上午还不习惯,下午用起来就舒服了,感觉比python写起来还舒服,就是它的类型声明有点奇怪。一天把前面一般语言都共有的部分,看掉了,主要都是看文档,看文档跟着案例敲学习语言,速度和效率真的快。

第二周8.12-8.17

这周的学习内容 : hadooop基本入门 hadoop完全分布式 HDFS

难点: hadoop概念 hadoop克隆群起

个人理解

hadoop概念:这一块也不算个人理解吧,因为学hadoop学了很久,都不知道hadoop是什么,干嘛用的,就去CSDN去搜了,http://t.csdn.cn/J6cLT 这个链接,我觉得讲的特别好。也让我弄懂了hadoop和大数据。看文档完了,感觉Hadoop技术就是大数据这行的核心,像我们这次比赛要学的很多内容都是基于hadoop或者是和hadoop有关的,总之是离不开,hive,spark都是如此,这些算是hadoop的模块,模块之间又有关联。hadoop像是一个生态圈了,也有人讲hadoop生态。总结hadoop的话,Hadoop就是存储海量数据和分析海量数据的工具。它的核心是我学掉的HDFS和没学的MR,赶进度MR就看看文档就好了,HDFS是存储数据的,而MR就是计算数据的,理解为计算引擎。

**hadoop克隆:**这部分也不算难点,但是总是会出现问题,然后自己去解决,后面自己总结出了一套配置步骤,虚拟机克隆这部分,到配置IP。群起配置在多太虚拟机的时候,真的很方便,像如果一台装了java,并配置好了环境,后面几台只要,配置完ip和映射,以主虚拟机,直接分发就好了。写完配置文件,启动hadoop各集群也很方便。1.克隆虚拟机 2.修改静态IP 3.修改主机名做映射 4.关闭防火墙 。这样一台有ip能上完的虚拟机就配置好了。后面群起什么,主虚拟机分发一下就好了,交给环境配置的同学。

自我周总结:

这周学习的效率就落下来了,这周是hadoop结束,以为hadoop是都要学习的,自己就很认真的在搞配置什么的命令,也出现了很多问题,一个一个去找,有配置报错,CSDN解决,浪费了很多时间。前面概念的有点莫论两可,后面跟概念相关的就比较吃力了。这周后面学HDFS,Java用IDEA充当客户端那天学习状态还可以的,自己学习状态和学习内容有点挂钩太多了。

第三周8.18-8.24

这周的学习内容 :Scala函数式编程 Scala面向对象 数组集合 Spark入门

Spark-RDD 转换算子 运行算子 SparkSQL

难点: Scala集合计算函数 元组 Spark概念

个人理解:

元组:元组在我理解和java里面的元组完全不一样,在Scala元组是一个容器,将很多无关的数据封装为一个整体,元组最大只能有22个元素。元组可以存不同的元素,但是调用的时候比较抽象,是用._顺序号,他是有序的,在后面集合计算高级函数中经常使用,结合Map,和对象就很抽象,一层嵌一层的。

Scala集合计算函数:看文档的代码和扁平化+映射的方法,Scala的代码又简洁,更像抽象,一下子看文档看不明白,一套嵌一套的,很多地方的类型什么都省略了,用_直接代替,导致我这一块卡了很久,去换了IDEA设置,自动补齐类型,理解起来方便多了,在我理解的flatMap 相当于先进行 map 操作,在进行 flatten操作,这里基本就是扁平化+映射的原理,到后面分区什么又结合一起,代码全部写一行,要看好一会才行。慢慢也能捋清除。

Spark概念:之前学Scala的时候就说,学Scala就是为了Spark,到Spark,发现开发语句都是Scala。在我看来,Spark也是一种大数据计算框架,和MR类似,但是比MR强很多,不管是运行还是各种方面,效率方面比MR强100倍,有这么夸张。但是Spark因为是新起的,所以有些地方不够完善,容易内存溢出,但我只遇到过一次。Spark主要用于大数据的计算,而Hadoop以后主用于大数据的存储HDFS和Hive,以及资源调度。Spark+Hadoop的组合,是未来大数据领域最热门的组合,也是最有前景的组合!过断时间把Hadoop换成Spark执行应该会快上不少。

自我周总结:

这周学完了Scala和Spark,学习速度还是很满意的。但是学习顺序出现了点问题,没有学Hive,就去看Spark了,前面听的很懵,到后面最重要的SparkSQL,文档让用Hive的,我连Hive是什么都不知道,下周得去看完Hive才回头来看SparkSQL了,这周的学习状态是很不错的,都是敲代码,代码敲了很多,Spark语法也都记住了,结合笔记,也能自己写出简单的案例。这周BUG出现蛮多的,都是在Scala的语句中,._这块出现了很多次问题,Scala还是没用顺,为了简洁的语法,明明是一层调用一层的,全部写在一行,然后化简,导致自己有时候都得看好一会,才能捋清除。

第四周8.25-8.31

这周的学习内容 :Hive配置 DDL语句 DML语句 Join语句 函数

难点: Hive配置

自我周总结:

这周配置这个Hive的环境配置了两天半,才磕磕绊绊搞好。原本自己弄了一天,第二天的时候又不行了,然后一报错,就去CSDN找解决方法,到JDBC的时候完全起不来,Jar包都找不到了,不知道被搞到哪里了,就让喻中贵重新帮我克隆配置了3台有hadoop的虚拟机,自己从头到尾又根据之前解决的思路,配置了一下午,全部都搞好了,也花了两天多时间,导致本来想这周就结束Hive的现在才学了2/3。这块配置还是不要瞎搞了,太浪费时间了,后面才是自己要知道的重点。Hive后面的任务,我觉得没什么难的地方。DDL和DML语句基本和SQL语句差不多,都是SQL基础语句。

二、自我总结

自我反省:

自己解决BUG的能力不太行,现在文档的重要性是体现出来了,因为老师很多东西都调教好了,我们用的时候会出现很多问题,要去解决就是要看博客。平常解决一些BUG不顺利的话都会花一小时甚至一上午的时间去解决,这样影响还是很大的,不管是进度还是心态。

配置Hive那两天的时候发现了自身的问题,可能我自己的那台机子,应该是好的,启动方式和老师不一样而已,导致我用老师那种方式,一直等不到OK,而且命令敲完,提示信息和老师不一样,就觉得自己之前的配置哪里有了问题,又找不到,重写弄了三台,从头到尾 java hadoop hive spark 重配置。后面到JDBC的时候,提示信息跟之前还是一样,但是自己试着去运行了一下,发现好了。感觉浪费了很多时间,就是因为自己没有去试beeline命令,认为前面错,后面也错。

然后自己学习的时候,没先提前去搞懂这东西是干嘛的,要在什么的基础之上,所以出现了学习步骤的问题,SparkSQL之前要看Hive,Hive之前要看Hadoop,这是一条线,整反了,就会听不懂。像之前学Hadoop的时候,没先搞懂Hadoop是什么,前面讲hadoop是什么干嘛的,为了进度,直接跳了,导致学到后面,都不知道hadoop是什么干嘛的,又去看了博客,再学的时候会相对容易点,有清晰的条理。不然就像无头苍蝇一样,不知道在学什么。为了进度,讲概述可以跳,最好还是得先去博客了解,看文档比视频快很多,也能弄明白东西的作用。

现在学习的时间相对之前增加了,加上周末以及每天的早八晚九,一天学习时间可以达到8个小时,加上要赶进度,学习效率比之前高上不少,因为配置和学习顺序,拖累的这个月的进度,本来这个月打算Hive学完的,然后花两天回头看下SparkSQL就可以刷题了,现在Hive只看了一半,希望下星期能学完自己的任务,然后学长出题做一下,看一百遍不如去做一遍。自己比之前的进步也蛮大的,学会了看文档,真的是事半功倍,学会一个语言的基本用法,看文档不需要一个星期就能搞定。文档的重要还是体现出来了。现在的学习步骤就是看文档,到出BUG,或者看不懂的地方,再去看视频,视频不行就去CSDN搜。然后自己的博客也是很久没更新了,虽然没什么点击量,但是我觉得还是要写起来的,等大数据结束了,希望能再把博客发起来,自己处理BUG的过程什么,都可以去发,争取一天一篇。当作日常任务一样。