一、简介 1.1 多数据源支持 Spark 支持以下六个核心数据源,同时 Spark 社区还提供了多达上百种数据源的读取方式,能够满足绝大部分使用场景。 CSV JSON Parquet ORC JDBC/ODBC connections Plain-text files 注:以下所有测试文件均可从 ...
分类:
数据库 时间:
2020-06-26 18:39:56
阅读次数:
61
一、 数据准备 本文主要介绍 Spark SQL 的多表连接,需要预先准备测试数据。分别创建员工和部门的 Datafame,并注册为临时视图,代码如下: val spark = SparkSession.builder().appName("aggregations").master("local[ ...
分类:
数据库 时间:
2020-06-26 18:28:15
阅读次数:
72
一、简单聚合 1.1 数据准备 // 需要导入 spark sql 内置的函数包 import org.apache.spark.sql.functions._ val spark = SparkSession.builder().appName("aggregations").master("lo ...
分类:
数据库 时间:
2020-06-26 18:03:35
阅读次数:
58
一、简介 在 Spark 中,提供了两种类型的共享变量:累加器 (accumulator) 与广播变量 (broadcast variable): 累加器:用来对信息进行聚合,主要用于累计计数等场景; 广播变量:主要用于在节点间高效分发大对象。 二、累加器 这里先看一个具体的场景,对于正常的累计求和 ...
分类:
其他好文 时间:
2020-06-26 10:59:41
阅读次数:
50
特性如下: 可线性伸缩至超过数百个节点; 实现亚秒级延迟处理; 可与Spark批处理和交互式处理无缝集成; 提供简单的API实现复杂算法; 更多的流方式支持,包括Kafka、Flume、Kinesis、Twitter、ZeroMQ等。 原理 Spark在接收到实时输入数据流后,将数据划分成批次(di ...
分类:
Web程序 时间:
2020-06-26 01:31:54
阅读次数:
136
一、安装Spark 1.1 下载并解压 官方下载地址:http://spark.apache.org/downloads.html ,选择 Spark 版本和对应的 Hadoop 版本后再下载: 解压安装包: # tar -zxvf spark-2.2.3-bin-hadoop2.6.tgz 1.2 ...
分类:
其他好文 时间:
2020-06-25 21:47:14
阅读次数:
74
Hive、Spark SQL和Impala三种分布式SQL查询引擎都是SQL-on-Hadoop解决方案,但又各有特点。前面已经讨论了Hive和Impala,本节先介绍一下SparkSQL,然后从功能、架构、使用场景几个角度比较这三款产品的异同,最后附上分别由cloudera公司和SAS公司出示的关 ...
分类:
数据库 时间:
2020-06-25 21:29:31
阅读次数:
581
一、RDD简介 RDD 全称为 Resilient Distributed Datasets,是 Spark 最基本的数据抽象,它是只读的、分区记录的集合,支持并行操作,可以由外部数据集或其他 RDD 转换而来,它具有以下特性: 一个 RDD 由一个或者多个分区(Partitions)组成。对于 R ...
分类:
其他好文 时间:
2020-06-25 21:27:05
阅读次数:
66
Broadcast Join 适合情况,小表和大表,小表非常小,适合传播到各个节点。 当大表小表连接时,为了避免Shuffle,我们可以将小表广播到各个节点内存,供大表连接。一定程度上牺牲了空间,避免了Shuffle。这种Join在Spark中称作Broadcast Join。(需要注意的点是广播的 ...
分类:
其他好文 时间:
2020-06-24 16:28:44
阅读次数:
53
package test import org.apache.spark.sql.{DataFrame, ForeachWriter, Row, SparkSession} import org.apache.spark.sql.streaming.{ProcessingTime, Trigger} ...
分类:
数据库 时间:
2020-06-24 16:23:50
阅读次数:
132