作业1
大数据生态和Spark简介
大数据本身是个很宽泛的概念,Hadoop 生态圈(或者泛生态圈)基本上都是为了处理超过单机尺度的数据处理而诞生的。你可以把它比作一个厨房所以需要的各种工具。锅碗瓢盆,各有各的用处,互相之间又有重合。你可以用汤锅直接当碗吃饭喝汤,你可以用小刀或者刨子去皮。但是每个工具有自己的特性,虽然奇怪的组合也能工作,但是未必是最佳选择。大数据,首先你要能存的下大数据。传统的文件系统是单机的,不能横跨不同的机器。HDFS(Hadoop Distributed FileSystem)的设计本质上是为了大量的数据能横跨成百上千台机器,但是你看到的是一个文件系统而不是很多文件系统。比如你说我要获取 / hdfs/tmp/file1 的数据,你引用的是一个文件路径,但是实际的数据存放在很多不同的机器上。你作为用户,不需要知道这些,就好比在单机上你不关心文件分散在什么磁道什么扇区一样,而由HDFS 为你管理这些数据。
Spark是当前热门的大数据处理技术,Spark支持采用Scala、Java、Python和R语言进行编程。
Spark的设计遵循“一个软件栈满足不同应用场景”的理念,逐渐形成一套完整的生态系统。既能提供内存计算框架,也支持SQL,即查询、实时流式计算、机器学习和图计算等。