《Spark大数据分析:核心概念、技术及实践》一 3.4 数据源

3.4 数据源

Spark本质上是一个使用集群节点进行大数据集处理的计算框架。与数据库不同,它并没有存储系统,但是它可以搭配外部存储系统使用。Spark一般都配合能存储大量数据的分布式存储系统使用。

Spark支持多种数据源。Spark应用程序可以使用的数据来源包括HDFS、HBase、Cassandra、Amazon S3,或者其他支持Hadoop的数据源。任何Hadoop支持的数据源都可以被Spark Core使用。Spark上的库Spark SQL还支持更多数据源。第7章将会介绍Spark-SQL。

兼容支持Hadoop的数据源是相当重要的。许多组织都已经在Hadoop上面投入了大量的精力。在HDFS或其他支持Hadoop的数据存储系统上都存储着大量的数据。使用Spark并不需要将这些数据迁移到其他存储系统。而且,将Hadoop MapReduce替换成Spark并不需要另起炉灶,这是比较轻松的。如果现有的Hadoop集群正在执行MapReduce作业,也可以同时在上面运行Spark应用。可以把现有的MapReduce作业转化成Spark作业。或者,也可以保留现有的MapReduce应用程序,不做更改,使用Spark运行新的应用程序。

由于Spark Core原生支持Hadoop兼容的存储系统,因此额外的数据源都能很方便地添加进来。比如,人们已经为Spark编写好了各种数据源的连接器,包括Cassandra、MongoDB、CouchDB和其他流行的数据源。

Spark也支持本地文件系统。Spark应用程序可以读写本地文件系统上的数据。如果数据可以从本地文件读取并在单机上处理,那么没必要使用Spark。尽管如此,Spark的这个特性使得它便于开发应用和调试,并且易学。

时间: 2024-11-08 18:16:02

《Spark大数据分析:核心概念、技术及实践》一 3.4 数据源的相关文章

《Spark大数据分析:核心概念、技术及实践》大数据技术一览

本节书摘来自华章出版社<Spark大数据分析:核心概念.技术及实践>一书中的第1章,第1节,作者穆罕默德·古勒(Mohammed Guller)更多章节内容可以访问"华章计算机"公众号查看. 大数据技术一览 我们正处在大数据时代.数据不仅是任何组织的命脉,而且在指数级增长.今天所产生的数据比过去几年所产生的数据大好几个数量级.挑战在于如何从数据中获取商业价值.这就是大数据相关技术想要解决的问题.因此,大数据已成为过去几年最热门的技术趋势之一.一些非常活跃的开源项目都与大数据

《Spark大数据分析:核心概念、技术及实践》Scala编程

本节书摘来自华章出版社<Spark大数据分析:核心概念.技术及实践>一书中的第1章,第2节,作者穆罕默德·古勒(Mohammed Guller)更多章节内容可以访问"华章计算机"公众号查看. Scala编程 Scala是当前热门的现代编程语言之一.它是编程语言界的凯迪拉克.它是一门强大且优美的语言.学会了它,对你的职业生涯大有裨益. 用不同的编程语言都可以编写大数据应用程序,比如Java.Python.C++.Scala等.Hadoop本身就是用Java编写的.尽管大多数的

《Spark大数据分析:核心概念、技术及实践》Spark Core

本节书摘来自华章出版社<Spark大数据分析:核心概念.技术及实践>一书中的第1章,第节,作者穆罕默德·古勒(Mohammed Guller)更多章节内容可以访问"华章计算机"公众号查看. Spark Core Spark是大数据领域最活跃的开源项目,甚至比Hadoop还要热门.如第1章所述,它被认为是Hadoop的继任者.Spark的使用率大幅增长.很多组织正在用Spark取代Hadoop. 从概念上看,Spark类似于Hadoop,它们都用于处理大数据.它们都能用商用硬

《Spark大数据分析:核心概念、技术及实践》一3.9 共享变量

 本节书摘来自华章出版社<Spark大数据分析:核心概念.技术及实践>一书中的第3章,第3.9节,作者[美] 穆罕默德·古勒(Mohammed Guller),更多章节内容可以访问"华章计算机"公众号查看. 3.9 共享变量 Spark使用的架构是无共享的.数据分布在集群的各个节点上,每个节点都有自己的CPU.内存和存储资源.没有全局的内存空间用于任务间共享.驱动程序和任务之间通过消息共享数据. 举例来说,如果一个RDD操作的函数参数是驱动程序中变量的引用,Spark会将这

《Spark大数据分析:核心概念、技术及实践》一 第2章 Scala编程

  本节书摘来自华章出版社<Spark大数据分析:核心概念.技术及实践>一书中的第2章,第2.1节,作者[美] 穆罕默德·古勒(Mohammed Guller),更多章节内容可以访问"华章计算机"公众号查看. 第2章 Scala编程 Scala是当前热门的现代编程语言之一.它是编程语言界的凯迪拉克.它是一门强大且优美的语言.学会了它,对你的职业生涯大有裨益. 用不同的编程语言都可以编写大数据应用程序,比如Java.Python.C++.Scala等.Hadoop本身就是用J

《Spark大数据分析:核心概念、技术及实践》一 1.3 列存储

  本节书摘来自华章出版社<Spark大数据分析:核心概念.技术及实践>一书中的第1章,第1.3节,作者[美] 穆罕默德·古勒(Mohammed Guller),更多章节内容可以访问"华章计算机"公众号查看. 1.3 列存储 数据可以面向行或面向列的格式来存储.在面向行格式中,一行的所有列或字段存储在一起.这里的一行,可以是CSV文件中的一行,或者是数据库表中的一条记录.当数据以面向行格式保存时,第一行后面是第二行,接着是第三行,以此类推.面向行存储对于主要执行数据的CRU

《Spark大数据分析:核心概念、技术及实践》一3.8 Spark作业

 本节书摘来自华章出版社<Spark大数据分析:核心概念.技术及实践>一书中的第3章,第3.8节,作者[美] 穆罕默德·古勒(Mohammed Guller),更多章节内容可以访问"华章计算机"公众号查看. 3.8 Spark作业 RDD上的转换.操作和缓存方法构成了Spark应用的基础.从本质上说,RDD描述了Spark编程模型.既然我们介绍过了编程模型,那么接下来我们介绍在Spark应用中这些是怎么结合在一起的. 作业指的是Spark将要执行的一些计算,它们将操作的结果

《Spark大数据分析:核心概念、技术及实践》一3.6 惰性操作

 本节书摘来自华章出版社<Spark大数据分析:核心概念.技术及实践>一书中的第3章,第3.6节,作者[美] 穆罕默德·古勒(Mohammed Guller),更多章节内容可以访问"华章计算机"公众号查看. 3.6 惰性操作 RDD的创建和转换方法都是惰性操作.当应用调用一个返回RDD的方法的时候,Spark并不会立即执行运算.比如,当你使用SparkContext的textFile方法从HDFS中读取文件时,Spark并不会马上从硬盘中读取文件.类似地,RDD转换操作(它

《Spark大数据分析:核心概念、技术及实践》一3.10 总结

 本节书摘来自华章出版社<Spark大数据分析:核心概念.技术及实践>一书中的第3章,第3.10节,作者[美] 穆罕默德·古勒(Mohammed Guller),更多章节内容可以访问"华章计算机"公众号查看. 3.10 总结 Spark是一个快速.可扩展.可容错且基于内存的集群计算框架.一个Spark应用可以比Hadoop应用快上100倍. Spark不但快速而且它能很方便地使用mapReduce.通过不同语言(包括Java.Python.Scala和R)的易读的API,它

《Spark大数据分析:核心概念、技术及实践》一1.7 总结

  本节书摘来自华章出版社<Spark大数据分析:核心概念.技术及实践>一书中的第1章,第1.7节,作者[美] 穆罕默德·古勒(Mohammed Guller),更多章节内容可以访问"华章计算机"公众号查看. 1.7 总结 近年来数据的指数级增长给许多大数据技术带来了机会.传统的专有产品要么无法处理大数据,要么代价太昂贵.这就为开源大数据技术打开了一扇门.仅仅在过去几年里,这个领域的快速创新已经催生出很多新产品.大数据领域如此之大,以至于可以写一本书专门来介绍各种各样的大数