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