大数据/Spark/Spark SQL
Anbang713
这个作者很懒,什么都没留下…
展开
-
SparkSQL-JSON数据集
Spark SQL能自动解析JSON数据集的schema,并将其作为 Dataset<Row> 加载。这个转换可以在 Dataset<String> 上使用 SparkSession.read.json() 来完成或 JSON 文件。需要注意的是,这里的JSON文件不是常规的 JSON 文件,JSON文件的每行必须包含一个独立的、自满足有效的JSON 对象。有关更多信息...翻译 2018-08-22 07:56:18 · 416 阅读 · 0 评论 -
SparkSQL-数据源
Spark SQL的DataFrame接口支持多种数据源的操作。一个DataFrame可以进行RDDs方式的操作,也可以被注册为临时表。把DataFrame注册为临时表之后,就可以对该DataFrame执行SQL查询。Data Sources这部分首先描述了对Spark的数据源执行加载和保存的常用方法,然后对内置数据源进行深入介绍。一、一般Load/Save方法Spark SQL的默认数据...翻译 2018-08-21 08:14:33 · 1012 阅读 · 0 评论 -
SparkSQL-聚合函数
SparkSQL中提供了一些DataFramas常用的聚合函数,比如count(),countDistinct(),avg(),max(),min()等等。但是,使用者除了使用这些已经提供的函数外,可以自定义聚合函数。一、Untyped UDAF定义一个类集成UserDefinedAggregateFunction并实现其中的方法。import java.util.ArrayList...翻译 2018-08-21 08:02:01 · 2964 阅读 · 0 评论 -
SparkSQL-DataFrams和RDD的相互转换
Spark SQL支持两种RDDs转换为DataFrames的方式:使用反射获取RDD内的Schema 当已知类的Schema的时候,使用这种基于反射的方法会让代码更加简洁而且效果也很好。 通过编程接口指定Schema 通过Spark SQL的接口创建RDD的Schema,这种方式会让代码比较冗长。 这种方法的好处是,在运行时才知道数据的列以及列的类型的情况下,可以动态生成Sch...翻译 2018-08-17 07:59:05 · 801 阅读 · 0 评论 -
SparkSQL-与Spark Core整合案例
/** * 每日top3热点搜索词统计案例 * @author Administrator * */public class DailyTop3Keyword { public static void main(String[] args) { SparkConf conf = new SparkConf().setAppName("DailyTop3Keyword");...原创 2018-08-22 21:36:19 · 590 阅读 · 0 评论 -
SparkSQL-创建Datasets
Dataset 与 RDD 相似,然而并不是使用 Java 序列化或者 Kryo编译器来序列化用于处理或者通过网络进行传输的对象。虽然编码器和标准的序列化都负责将一个对象序列化成字节,编码器是动态生成的代码,并且使用了一种允许 Spark 去执行许多像 filtering,,sorting 以及 hashing 这样的操作,不需要将字节反序列化成对象的格式。import java.util....翻译 2018-08-16 22:01:11 · 257 阅读 · 0 评论 -
SparkSQL-SQL查询和全局临时视图
一、SQL查询SparkSession 的 sql 函数可以让应用程序以编程的方式运行 SQL 查询,并将结果作为一个 Dataset<Row> 返回。// init_sessionSparkSession spark = SparkSession .builder() .appName("Java Spark SQL basic example")...翻译 2018-08-16 21:53:49 · 4694 阅读 · 1 评论 -
SparkSQL-入门
一、创建SparkSessionSpark SQL中所有功能的入口点是SparkSession类。可以使用SparkSession.builder()直接创建一个SparkSession:import org.apache.spark.sql.SparkSession;SparkSession spark = SparkSession .builder() .appName(...翻译 2018-08-16 21:44:54 · 171 阅读 · 0 评论 -
SparkSQL-简介
一 概览Spark SQL 是 Spark用来处理结构化数据的一个模块。与基础的 Spark RDD API 不同的是,Spark SQL 提供了查询结构化数据及计算结果等信息的接口。在内部, Spark SQL 使用这个额外的信息去执行额外的优化。有几种方式可以跟 Spark SQL 进行交互,比如 SQL 和 Dataset API。当使用相同执行引擎进行计算时, 无论使用哪种 API /...翻译 2018-08-16 21:27:37 · 510 阅读 · 0 评论 -
SparkSQL-JDBC 连接其它数据库
Spark SQL 还包括可以使用 JDBC 从其他数据库读取数据的数据源。此功能应优于使用 JdbcRDD。 这是因为结果作为 DataFrame 返回,并且可以轻松地在 Spark SQL 中处理或与其他数据源连接。 JDBC 数据源也更容易从 Java 或 Python 使用,因为它不需要用户提供 ClassTag。(请注意,这不同于 Spark SQL JDBC 服务器,允许其他应用程序使...翻译 2018-08-22 08:12:24 · 1304 阅读 · 0 评论 -
SparkSQL-Hive表
Spark SQL支持对Hive的读写操作。需要注意的是,由于Hive具有大量的依赖关系,Hive所依赖的包并没有包含在Spark assembly包中。如果在类路径中找到 Hive 依赖项,Spark 将自动加载它们。 请注意,这些 Hive 依赖关系也必须存在于所有工作节点上,因为它们将需要访问 Hive 序列化和反序列化库 (SerDes),以访问存储在 Hive 中的数据。通过将 hi...翻译 2018-08-22 08:01:22 · 3006 阅读 · 0 评论 -
SparkSQL-Parquet文件
Parquet是一种支持多种数据处理系统的柱状的数据格式,Parquet文件中保留了原始数据的模式。Spark SQL提供了Parquet文件的读写功能。列式存储和行式存储相比有哪些优势呢?可以跳过不符合条件的数据,只读取需要的数据,降低IO数据量。 压缩编码可以降低磁盘存储空间。由于同一列的数据类型是一样的,可以使用更高效的压缩编码(例如Run Length Encoding和Delt...翻译 2018-08-21 22:06:07 · 1781 阅读 · 0 评论