使用反射方式将RDD转换为DataFrame
RDD转换为DataFrame为什么要将RDD转换为DataFrame?因为这样的话,我们就可以直接针对HDFS等任何可以构建为RDD的数据,使用Spark SQL进行SQL查询了。这个功能是无比强大的。想象一下,针对HDFS中的数据,直接就可以...
DataFrame使用
Spark SQL and DataFrame引言Spark SQL是Spark中的一个模块,主要用于进行结构化数据的处理。它提供的最核心的编程抽象,就是DataFrame。同时Spark SQL还可以作为分布式的SQL查询引擎。Spark SQL最重要的功能之一,...
SparkSQL简介
Spark 1.0版本开始,推出了Spark SQL。其实最早使用的,都是Hadoop自己的Hive查询引擎;但是后来Spark提供了Shark;再后来Shark被淘汰,推出了Spark SQL。Shark的性能比Hive就要高出一个数量级,而Spark SQL的性能又...
Spark 2.x与1.x对比
Spark 2.x与1.x对比Spark 1.x:Spark Core(RDD)、Spark SQL(SQL+Dataframe+Dataset)、Spark Streaming、Spark MLlib、Spark GraphxSpark 2.x:Spark Core(RDD)、Spark SQL(ANSI-SQL+Subquery+Dataframe/Datas...
whole-stage code generation技术和vectorization技术
whole-stage code generation要对Spark进行性能优化,一个思路就是在运行时动态生成代码,以避免使用Volcano模型,转而使用性能更高的代码方式。要实现上述目的,就引出了Spark第二代Tungsten引擎的新技术,whole-st...
Spark 1.x的Volcano Iterator Model深度剖析
深入剖析Spark 2.x的第二代tungsten引擎原理之前,先看一下当前的Spark的工作原理。我们可以通过一个SQL来举例,这个SQL扫描了单个表,然后对属性等于指定值的记录进行汇总计数。SQL语句如下:select count(*)&...
智能化:Structured Streaming介绍
Spark Streaming应该说是将离线计算操作和流式计算操作统一起来的大数据计算框架之一。从Spark 0.7开始引入的Spark Streaming,为开发人员提供了很多有用的特性:一次且仅一次的语义支持、容错性、强一致性保证、高...
高性能:让Spark作为编译器来运行
Spark 2.0的一个重大的特点就是搭载了最新的第二代tungsten引擎。第二代tungsten引擎吸取了现代编译器以及并行数据库的一些重要的思想,并且应用在了spark的运行机制中。其中一个核心的思想,就是在运行时动态地生成...
Spark2.0新特性
Spark Core&Spark SQLAPIdataframe与dataset统一,dataframe只是dataset[Row]的类型别名SparkSession:统一SQLContext和HiveContext,新的上下文入口为SparkSession开发的一种新的流式调用的configuration apiac...
聚合函数
avg、sum、max、min、count、countDistinctcollect_list、collect_setcollect_list,就是将一个分组内,指定字段的值都收集到一起,不去重collect_set,同上,但是唯一的区别是,会去重都用于将同一个分组内的指定字...