摘要: 一、分区的概念 分区是RDD内部并行计算的一个计算单元,RDD的数据集在逻辑上被划分为多个分片,每一个分片称为分区,分区的格式决定了并行计算的粒度,而每个分区的数值计算都是在一个任务中进行的,因此任务的个数,也是由RDD(准确来说是作业最后一个RDD)的分区数决定。 二、为什么要进行分区 数据分区, 阅读全文
posted @ 2019-09-08 23:40 花未全开*月未圆 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 一、RDD的概述 1.1 什么是RDD? RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变、可分区、里面的元素可并行计算的集合。RDD具有数据流模型的特点:自动容错、位置感知性调度和可伸缩性。RDD允许用户在执 阅读全文
posted @ 2019-09-08 23:25 花未全开*月未圆 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2019-09-08 23:06 花未全开*月未圆 阅读(4691) 评论(0) 推荐(0) 编辑
摘要: object BasicSQLTest { def main(args: Array[String]): Unit = { val spark = SparkSession .builder() .appName("BasicSQLTest") .getOrCreate() val sessionDf = spark.read.parqu... 阅读全文
posted @ 2019-09-08 23:05 花未全开*月未圆 阅读(246) 评论(0) 推荐(0) 编辑
摘要: object CatalogApiTest { def main(args: Array[String]): Unit = { val spark = SparkSession .builder() .appName("CatalogApiTest") .getOrCreate() //查看spark sql应用用的是哪一种catalog... 阅读全文
posted @ 2019-09-08 23:04 花未全开*月未圆 阅读(1010) 评论(0) 推荐(0) 编辑
摘要: object ParquetFileTest { def main(args: Array[String]): Unit = { val spark = SparkSession .builder() .appName("ParquetFileTest") .getOrCreate() //1: 将json文件数据转化成parquet文件数据 val df = spark.read.json(s" 阅读全文
posted @ 2019-09-08 23:03 花未全开*月未圆 阅读(546) 评论(0) 推荐(0) 编辑
摘要: import com.twq.dataset.Utils._ import org.apache.spark.sql.{SaveMode, SparkSession} object FilePartitionTest { def main(args: Array[String]): Unit = { val spark = SparkSession .builder() .appName("Fil 阅读全文
posted @ 2019-09-08 23:02 花未全开*月未圆 阅读(1296) 评论(0) 推荐(0) 编辑
摘要: object JdbcDatasourceTest { def main(args: Array[String]): Unit = { val spark = SparkSession .builder() .appName("JdbcDatasourceTest") .master("local") .getOrCreate() ... 阅读全文
posted @ 2019-09-08 23:01 花未全开*月未圆 阅读(850) 评论(0) 推荐(0) 编辑
摘要: object CSVFileTest { def main(args: Array[String]): Unit = { val spark = SparkSession .builder() .appName("CSVFileTest") .master("local") .getOrCreate() import spar... 阅读全文
posted @ 2019-09-08 23:00 花未全开*月未圆 阅读(4762) 评论(0) 推荐(1) 编辑
摘要: 阅读全文
posted @ 2019-09-08 22:59 花未全开*月未圆 阅读(1301) 评论(0) 推荐(0) 编辑
摘要: 数据源-基本操作load和save 阅读全文
posted @ 2019-09-08 22:58 花未全开*月未圆 阅读(2196) 评论(0) 推荐(0) 编辑
摘要: Dataset创建 DataFrame创建 RDD&Dataset&DataFrame的转换 schema的定义以及复杂数据类型的用法 阅读全文
posted @ 2019-09-08 22:54 花未全开*月未圆 阅读(365) 评论(0) 推荐(0) 编辑
摘要: 一、Flume简介 flume 作为 cloudera 开发的实时日志收集系统,受到了业界的认可与广泛应用。Flume 初始的发行版本目前被统称为 Flume OG(original generation),属于 cloudera。 但随着 FLume 功能的扩展,Flume OG 代码工程臃肿、核 阅读全文
posted @ 2019-09-08 21:52 花未全开*月未圆 阅读(252) 评论(0) 推荐(0) 编辑
摘要: Spark Streaming通过push模式和pull模式两种模式来集成Flume push模式:Spark Streaming端会启动一个基于Avro Socket Server的Receiver来接收Flume中的avro sink发来的数据,这个时候Flume avro sink就是作为客户 阅读全文
posted @ 2019-09-08 21:42 花未全开*月未圆 阅读(454) 评论(0) 推荐(0) 编辑
摘要: Kafka是一个分布式的Streaming处理平台,Kafka可以用于数据库中数据的导入导出,也可以用于实时流的处理,但是Kafka最核心的功能就是作为分布式的消息中间件。 Kafka集群是由多个Broker Server组成的,消息的发送者称为Producer,消息的消费者称为Consumer,t 阅读全文
posted @ 2019-09-08 21:39 花未全开*月未圆 阅读(1530) 评论(0) 推荐(0) 编辑
摘要: 将数据保存到MySQL中 import java.sql.DriverManager import org.apache.spark.storage.StorageLevel import org.apache.spark.streaming.{Seconds, StreamingContext} import org.apache.spark.{SparkConf, SparkContext} 阅读全文
posted @ 2019-09-08 20:45 花未全开*月未圆 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 创建多个接收器 多个端口启动多个receiver在其他Executor,接收多个端口数据,在吞吐量上提高其性能。代码上: Receiver数据块的数量 数据一条一条接收,以一个块一个块的方式存储在内存中,多少条记录组成一个block块: batchInterval : 触发批处理的时间间隔 bloc 阅读全文
posted @ 2019-09-08 20:44 花未全开*月未圆 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 数据处理的并行度 1、BlockRDD的分区数 (1)通过Receiver接受数据的特点决定 (2)也可以自己通过repartition设置 2、ShuffleRDD的分区数 (1)默认的分区数为spark.default.parallelism(core的大小) (2)通过我们自己设置决定 val 阅读全文
posted @ 2019-09-08 20:43 花未全开*月未圆 阅读(253) 评论(0) 推荐(0) 编辑
摘要: Spark Streaming 官网参考:http://spark.apache.org/docs/latest/streaming-programming-guide.html 一、Spark Streaming的原理 Spark Streaming应用也是Spark应用,Spark Stream 阅读全文
posted @ 2019-09-08 20:41 花未全开*月未圆 阅读(291) 评论(0) 推荐(0) 编辑
摘要: spark.streaming从不稳定到稳定状态,解决数据量接收数据时突然变大,使得无法及时处理数据,稳定性得到保证 开启方式: spark.streaming.backpressure.enabled = true Elastic Scaling(资源动态分配) Spark Batch Appli 阅读全文
posted @ 2019-09-08 20:39 花未全开*月未圆 阅读(199) 评论(0) 推荐(0) 编辑