Spark 支持多种文件格式的读写,包括
- 本地文本文件:Json、SequenceFile 等文件格式
- 文件系统:HDFS、Amazon S3
- 数据库:MySQL、HBase、Hive
Spark 支持多种文件格式的读写,包括
RDD 是弹性分布式数据集,其本质是 Dataset。Dataset 可以从 JVM 对象中构建 (例如 rating 对象,即 javabean ),然后通过 map、flatMap、filter 等方法转换来操作。
为了更好地读写数据以及使用类似SQL语句一样简单地操作,Spark SQL 提供了 DataFrame (其前身是SchemaRDD)。
Spark Streaming 除了可以从三个基本数据源(文件、TCP套接字、RDD)读取数据,还能从高级的数据源中读取。这里的高级数据源,指的是 Kafka 或 Flume。
使用Spark Streaming 进行实时流计算,主要运用 DStream 编程模型。这种模型包括 输入、转换和输出 三个部分。这一篇主要介绍三种简单的输入。下一篇将会介绍高级数据源和转换,输出部分。
弹性分布式数据集(Resilient Distributed Dataset,RDD),是分布式内存的一个抽象概念,它提供了一种高度受限的内存模型。本质上,RDD是一个只读的分区记录集合。一个RDD可以分成多个分区,每个分区就是一个数据集片段。不同的分区可以保存在集群的不同节点上,从而可以进行并行计算。
在实际应用中,大数据处理主要包括:
Spark 的设计遵循“一个软件栈满足不同的应用场景”,有一套完整的生态系统。包括内存计算框架、SQL即时查询、实时流式计算、机器学习和图计算等。Spark可以部署在 YARN 资源管理器上,提供一站式的大数据解决方案。