Spark SQL 和 DataFrame

RDD 和 DataFrame 的区别

RDD 是弹性分布式数据集,其本质是 Dataset。Dataset 可以从 JVM 对象中构建 (例如 rating 对象,即 javabean ),然后通过 map、flatMap、filter 等方法转换来操作。

为了更好地读写数据以及使用类似SQL语句一样简单地操作,Spark SQL 提供了 DataFrame (其前身是SchemaRDD)。

阅读更多

Spark编程入门(二)RDD编程

RDD 简介

弹性分布式数据集(Resilient Distributed Dataset,RDD),是分布式内存的一个抽象概念,它提供了一种高度受限的内存模型。本质上,RDD是一个只读的分区记录集合。一个RDD可以分成多个分区,每个分区就是一个数据集片段。不同的分区可以保存在集群的不同节点上,从而可以进行并行计算。

阅读更多

Spark编程入门(一) QuickStart

Spark 基本概念

在实际应用中,大数据处理主要包括:

  • 复杂的批量数据处理(数十分钟 - 几小时)
  • 基于历史数据的交互式查询(数十秒 - 几分钟)
  • 基于实时流的数据处理 (数百毫秒 - 几秒)

Spark 的设计遵循“一个软件栈满足不同的应用场景”,有一套完整的生态系统。包括内存计算框架、SQL即时查询、实时流式计算、机器学习和图计算等。Spark可以部署在 YARN 资源管理器上,提供一站式的大数据解决方案。

阅读更多