编程那点事 编程那点事编程那点事

技术文章

Hive数据源

Hive数据源

Spark SQL支持对Hive中存储的数据进行读写。操作Hive中的数据时,必须创建HiveContext,而不是SQLContext。HiveContext继承自SQLContext,但是增加了在Hive元数据库中查找表,以及用HiveQL语法编写SQL的功能。除了sq...

赞(0) Vben 阅读(2980)
JSON数据源

JSON数据源

Spark SQL可以自动推断JSON文件的元数据,并且加载其数据,创建一个DataFrame。可以使用SQLContext.read.json()方法,针对一个元素类型为String的RDD,或者是一个JSON文件。但是要注意的是,这里使用的JSON文件与传...

赞(0) Vben 阅读(2684)
数据源Parquet

数据源Parquet

使用编程方式加载数据Parquet是面向分析型业务的列式存储格式,由Twitter和Cloudera合作开发,2015年5月从Apache的孵化器里毕业成为Apache顶级项目,最新的版本是1.8.0。列式存储和行式存储相比有哪些优势呢?可以跳...

赞(0) Vben 阅读(2740)
通用的load和save操作

通用的load和save操作

通用的load和save操作对于Spark SQL的DataFrame来说,无论是从什么数据源创建出来的DataFrame,都有一些共同的load和save操作。load操作主要用于加载数据,创建出DataFrame;save操作,主要用于将DataFrame中的数据...

赞(0) Vben 阅读(2738)
使用反射方式将RDD转换为DataFrame

使用反射方式将RDD转换为DataFrame

RDD转换为DataFrame为什么要将RDD转换为DataFrame?因为这样的话,我们就可以直接针对HDFS等任何可以构建为RDD的数据,使用Spark SQL进行SQL查询了。这个功能是无比强大的。想象一下,针对HDFS中的数据,直接就可以...

赞(0) Vben 阅读(3470)
DataFrame使用

DataFrame使用

Spark SQL and DataFrame引言Spark SQL是Spark中的一个模块,主要用于进行结构化数据的处理。它提供的最核心的编程抽象,就是DataFrame。同时Spark SQL还可以作为分布式的SQL查询引擎。Spark SQL最重要的功能之一,...

赞(0) Vben 阅读(2361)
SparkSQL简介

SparkSQL简介

Spark 1.0版本开始,推出了Spark SQL。其实最早使用的,都是Hadoop自己的Hive查询引擎;但是后来Spark提供了Shark;再后来Shark被淘汰,推出了Spark SQL。Shark的性能比Hive就要高出一个数量级,而Spark SQL的性能又...

赞(0) Vben 阅读(2615)
Spark 2.x与1.x对比

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...

赞(0) Vben 阅读(3156)
whole-stage code generation技术和vectorization技术

whole-stage code generation技术和vectorization技术

whole-stage code generation要对Spark进行性能优化,一个思路就是在运行时动态生成代码,以避免使用Volcano模型,转而使用性能更高的代码方式。要实现上述目的,就引出了Spark第二代Tungsten引擎的新技术,whole-st...

赞(0) Vben 阅读(4345)
Spark 1.x的Volcano Iterator Model深度剖析

Spark 1.x的Volcano Iterator Model深度剖析

深入剖析Spark 2.x的第二代tungsten引擎原理之前,先看一下当前的Spark的工作原理。我们可以通过一个SQL来举例,这个SQL扫描了单个表,然后对属性等于指定值的记录进行汇总计数。SQL语句如下:select count(*)&...

赞(0) Vben 阅读(3412)
智能化:Structured Streaming介绍

智能化:Structured Streaming介绍

Spark Streaming应该说是将离线计算操作和流式计算操作统一起来的大数据计算框架之一。从Spark 0.7开始引入的Spark Streaming,为开发人员提供了很多有用的特性:一次且仅一次的语义支持、容错性、强一致性保证、高...

赞(0) Vben 阅读(2511)
高性能:让Spark作为编译器来运行

高性能:让Spark作为编译器来运行

Spark 2.0的一个重大的特点就是搭载了最新的第二代tungsten引擎。第二代tungsten引擎吸取了现代编译器以及并行数据库的一些重要的思想,并且应用在了spark的运行机制中。其中一个核心的思想,就是在运行时动态地生成...

赞(0) Vben 阅读(2373)
Spark2.0新特性

Spark2.0新特性

Spark Core&Spark SQLAPIdataframe与dataset统一,dataframe只是dataset[Row]的类型别名SparkSession:统一SQLContext和HiveContext,新的上下文入口为SparkSession开发的一种新的流式调用的configuration apiac...

赞(0) Vben 阅读(2938)
聚合函数

聚合函数

avg、sum、max、min、count、countDistinctcollect_list、collect_setcollect_list,就是将一个分组内,指定字段的值都收集到一起,不去重collect_set,同上,但是唯一的区别是,会去重都用于将同一个分组内的指定字...

赞(0) Vben 阅读(3856)
typed操作和untyped操作

typed操作和untyped操作

typed操作coalesce、repartition都是用来重新定义分区的区别在于:coalesce,只能用于减少分区数量,而且可以选择不发生shufflerepartiton,可以增加分区,也可以减少分区,必须会发生shuffle,相当于是进行了一次重...

赞(0) Vben 阅读(2801)
action操作和基础操作

action操作和基础操作

action操作collect、count、first、foreach、reduce、show、takeScala代码示例package cn.study.spark2 import org.apache.spark.sql.SparkSession /**  * action操作详解  *  &...

赞(0) Vben 阅读(2272)
SparkSession、Dataframe、Dataset开发入门

SparkSession、Dataframe、Dataset开发入门

SparkSQLSparkSQLSpark SQL是Spark的一个模块,主要用于处理结构化的数据。与基础的Spark RDD API不同的是,Spark SQL的接口会向提供更多的信息,包括数据结构以及要执行的计算操作等。在Spark SQL内部,会使用这些...

赞(0) Vben 阅读(2557)

编程那点事 更专业 更方便

登录

找回密码

注册