学期总结
一学期的时光飞速流逝,在这一学期中我在学习Spark中颠沛流离,学了但是又说不出来个所以然,没学吧又知道一些,一学期下来,感觉所学习到的知识都不是自己的而是老师带着,牵着鼻子走的,我自我评价,自己已经失去了自主学习的大部分能力,反之更多的是老师的推一步走一步的教学,一学期下来就是懵懵懂懂,茫茫然然,学了又感觉什么都不知道,后来干脆自己给自己出了一套题,做了,很多都不会。那一个感受,自己就是一边角料,啥都不会。
Hadoop MapReduce 是一种用于处理大数据集的编程模型,它采用并行的分布式算法。开发人员可以编写高度并行化的运算符,而不用担心工作分配和容错能力。不过,MapReduce 所面对的一项挑战是它要通过连续多步骤流程来运行某项作业。在每个步骤中,MapReduce 要读取来自集群的数据,执行操作,并将结果写到 HDFS。因为每个步骤都需要磁盘读取和写入,磁盘 I/O 的延迟会导致 MapReduce 作业变慢。
开发 Spark 的初衷就是为了突破 MapReduce 的这些限制,它可以执行内存中处理,减少作业中的步骤数量,并且跨多项并行操作对数据进行重用。借助于 Spark,将数据读取到内存、执行操作和写回结果仅需要一个步骤,大大地加快了执行的速度。Spark 还能使用内存中缓存显著加快在相同数据集上重复调用某函数的机器学习算法的速度,进而重新使用数据。数据重用通过在弹性分布式数据集 (RDD) 上创建数据抽象—DataFrames 得以实现,而弹性分布式数据集是一个缓存在内存中并在多项 Spark 操作中重新使用的对象集合。它大幅缩短了延迟,使 Spark 比 MapReduce 快数倍,在进行机器学习和交互式分析时尤其明显。
学习Spark是需要长期的深度的学习,才能学好的,换句话说,就是要静下心来才能完成。
从最开始的代码不熟悉,语句经常出现一些低级的错误,也学会了很多解决问题的方法有什么不懂的,就自己先试着解决一下,实在搞不懂的才去请教或者百度,在这个学习的过程中收获的不仅仅是那种经过多次的尝试,排除万难让程序跑起来的喜悦,更多的是在解决自己犯错的问题,以下我总结了我自己的容易出的毛病:
- 环境变量的配置上会出现一些小问题。
- 在配置spark的设置中会出现目录打不开、文件上传错误的现象,还有出现进入Hadoop安全模式等一系列的问题。
- 太过于依赖老师的讲稿,感觉离开了讲稿自己就什么都不会的那种。
- 遇上一点Bug自己就不想去解决了,有畏难情绪。
- 还是自己练习不够,以至于自己问题不断,状况连连,学习就得多做、多练。
马上就是大三的学生了,对于明天与未来难免感觉迷茫与恐惧,加油学习吧,不负今天,积极迎接明天!