
Sprak
没去过埃及的法老
偶尔更新
展开
-
【Spark Streaming】Spark Streaming整合kafka进行操作
整合Kafka两种模式说明 Receiver接收方式KafkaUtils.createDstream(开发中不用),Receiver作为常驻的Task运行在Executor等待数据,但是一个Receiver效率低,需要开启多个,再手动合并数据(union),再进行处理,很麻烦。Receiver哪台机器挂了,可能会丢失数据,所以需要开启WAL(预写日志)保证数据安全,那么效率又会降低...原创 2020-05-08 10:19:02 · 404 阅读 · 0 评论 -
【Spark Streaming】Spark Streaming案例
目录WordCount需求&准备代码updateStateByKeyreduceByKeyAndWindow WordCount 需求&准备 1.首先在linux服务器上安装nc工具,nc是netcat的简称,原本是用来设置路由器,我们可以利用它向某个端口发送数据yum install -y nc2.启动一个服务端...原创 2020-05-08 10:20:00 · 358 阅读 · 0 评论 -
【Spark Streaming】Spark Streaming原理与介绍
目录整体流程数据抽象总结 整体流程 Spark Streaming中,会有一个接收器组件Receiver,作为一个长期运行的task跑在一个Executor上。Receiver接收外部的数据流形成input DStream DStream会被按照时间间隔划分成一批一批的RDD,当批处理间隔缩短到秒级时,便可以用于处理实时数据流。时间间隔的大小可以由参数指定,一般设在50...原创 2020-05-07 16:53:08 · 542 阅读 · 0 评论 -
【SparkSQL】开窗函数的介绍及其使用
目录介绍聚合开窗函数排序开窗函数代码 介绍 开窗函数的引入是为了既显示聚集(或排序)前的数据,又显示聚集(或排序)后的数据。即在每一行的最后一列添加聚合函数的结果。开窗用于为行定义一个窗口(这里的窗口是指运算将要操作的行的集合),它对一组值进行操作,不需要使用 GROUP BY 子句对数据进行分组,能够在同一行中同时返回基础行的列和聚合列。聚合函数和开窗函数...原创 2020-05-07 16:45:38 · 1325 阅读 · 0 评论 -
【SparkSQL】Spark SQL自定义函数的介绍及其使用
目录介绍自定义UDF自定义UDAF 介绍 类似于hive当中的自定义函数, spark同样可以使用自定义函数来实现新的功能。spark中的自定义函数有如下3类UDF(User-Defined-Function):输入一行,输出一行UDAF(User-Defined Aggregation Funcation):输入多行,输出一行UDTF(User-Defined ...原创 2020-05-07 16:34:01 · 406 阅读 · 0 评论 -
【SparkSQL】SparkSQL与多数据源交互的操作
目录介绍写数据读数据总结 介绍 Spark SQL可以与多种数据源交互,如普通文本、json、parquet、csv、MySQL等1.写入不同数据源2.读取不同数据源 写数据 //创建SparkSessionval spark: SparkSession = SparkSession.builder().master("local[*]").a...原创 2020-05-07 16:29:54 · 642 阅读 · 1 评论 -
【SparkSQL】使用IDEA开发Spark SQL程序
目录创建DataFrame/DataSet指定列名添加SchemaStructType指定Schema反射推断Schema查询相互转化(RDD DataFrame DataSet)WordCount 创建DataFrame/DataSet Spark会根据文件信息尝试着去推断DataFrame/DataSet的Schema,当然我们也可以手动指定,手动指定的...原创 2020-05-07 16:15:05 · 675 阅读 · 0 评论 -
【SparkSQL】SparkSQL的基本介绍
目录介绍特点SQL优缺点Hive和SparkSQLDataFrameDataSetRDD&DataFrame&DataSet的区别 介绍 Spark SQL是Spark用来处理结构化数据的一个模块。Spark SQL还提供了多种使用方式,包括DataFrames API和Datasets API。但无论是哪种API或者是编程语言,它们都是基...原创 2020-05-07 16:03:34 · 226 阅读 · 0 评论 -
【SparkCore】RDD累加器和广播变量的介绍及其使用
介绍 在默认情况下,当Spark在集群的多个不同节点的多个任务上并行运行一个函数时,它会把函数中涉及到的每个变量,在每个任务上都生成一个副本。但是,有时候需要在多个任务之间共享变量,或者在任务(Task)和任务控制节点(Driver Program)之间共享变量。为了满足这种需求,Spark提供了两种类型的变量:1.累加器accumulators:累加器支持在所有不同节点之间进行累...原创 2020-05-07 15:53:05 · 291 阅读 · 0 评论 -
【SparkCore】RDD依赖关系与DAG
目录RDD依赖关系介绍如何区分宽窄依赖宽窄依赖的作用DAG介绍DAG的边界注意DAG划分Stage总结 RDD依赖关系 介绍RDD和它依赖的父RDD的关系有两种不同的类型1.宽依赖(wide dependency/shuffle dependency)2.窄依赖(narrow dependency)如何区分宽窄依赖窄依...原创 2020-05-07 15:47:42 · 241 阅读 · 0 评论 -
【SparkCore】RDD的持久化与缓存(HDFS与内存磁盘)
内存或磁盘 介绍在实际开发中某些RDD的计算或转换可能会比较耗费时间,如果这些RDD后续还会频繁的被使用到,那么可以将这些RDD进行持久化/缓存,这样下次再使用到的时候就不用再重新计算了,提高了程序运行的效率持久化/缓存API详解persist方法和cache方法RDD通过persist或cache方法可以将前面的计算结果缓存,但是并不是这两个方法被调用时立即缓存,而...原创 2020-05-07 15:39:25 · 946 阅读 · 0 评论 -
【SparkCore】RDD常用方法以及使用
目录创建RDD1.由外部存储系统的数据集创建,包括本地的文件系统,还有所有Hadoop支持的数据集,比如HDFS、Cassandra、HBase等2.通过已有的RDD经过算子转换生成新的RDD3.由一个已经存在的Scala集合创建RDD的方法/算子分类Transformation转换算子Action动作算子RDD分区的数据取决的因素常用API创建RDD查...原创 2020-05-07 15:11:34 · 1100 阅读 · 0 评论 -
【SparkCore】 RDD介绍
介绍RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象,代表一个不可变、可分区、里面的元素可并行计算的集合。单词拆解Resilient :它是弹性的,RDD中的数据可以保存在内存中或者磁盘里面Distributed :它里面的元素是分布式存储的,可以用于分布式计算Dataset: 它是一个集合,可以存放很...原创 2020-04-20 17:41:06 · 234 阅读 · 0 评论 -
【Spark】用IDEA编写Spark程序 基础入门
创建maven工程并添加jar包<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaL...原创 2020-04-20 17:32:15 · 237 阅读 · 0 评论 -
【Spark】on yarn集群模式安装部署
官方文档http://spark.apache.org/docs/latest/running-on-yarn.html前提安装启动Hadoop(需要使用HDFS和YARN)安装单机版Spark不需要集群,因为把Spark程序提交给YARN运行本质上是把字节码给YARN集群上的JVM运行,但是得有一个东西帮我去把任务提交上个YARN,所以需要一个单机版的Spark,里面...原创 2020-04-20 17:17:50 · 634 阅读 · 0 评论 -
【Spark】Standalone-HA高可用模式
介绍Spark Standalone集群是Master-Slaves架构的集群模式,和大部分的Master-Slaves结构集群一样,存在着Master单点故障的问题,HA解决master的单点问题前提1.配置好ZooKeeper集群并启动2.配置好Spark集群修改配置spark-env(在node01上配置)cd /export/servers/spar...原创 2020-04-20 17:07:00 · 235 阅读 · 0 评论 -
【Structured Streaming】整合MySQL(从kafka读取数据,把数据写入MySQL)
前言在之前的学习中我们已经学习了如何用Structured Streaming处理Socket数据,文本数据以及kafka数据,但是在真实的业务场景中不可能只让我们把数据只写入控制台让我们观看,所以今天我们来学习从kafka读取数据,讲数据写入到MySQL中。扩展我们开发中经常需要将流的运算结果输出到外部数据库,例如MySQL中,但是比较遗憾Structured Streaming ...原创 2020-04-17 16:11:36 · 1076 阅读 · 0 评论 -
【Structured Streaming】整合Kafka进行操作
前言在之前的学习中我们已经学习了如何用Structured Streaming处理Socket数据以及文本数据,今天我们来学习如何用Structured Streaming处理kafka数据官网介绍http://spark.apache.org/docs/latest/structured-streaming-kafka-integration.html 代码 需求:...原创 2020-04-16 19:04:11 · 385 阅读 · 0 评论 -
【Structured Streaming】处理文本数据
前言在之前的学习中我们学习已经学习了如何用Structured Streaming处理Socket数据,今天我们来学习如何用Structured Streaming处理文本数据扩展spark应用可以监听某一个目录,而web服务在这个目录上实时产生日志文件,这样对于spark应用来说,日志文件就是实时数据Structured Streaming支持的文件类型有text,csv,js...原创 2020-04-16 17:51:43 · 354 阅读 · 1 评论 -
【Structured Streaming】Spark Streaming初介绍
前言今天小编来介绍一下Spark Streaming,我会把着重的点标红哦,话不多说我们直接看看内容吧介绍官网:http://spark.apache.org/docs/latest/structured-streaming-programming-guide.htmlspark在2.0版本中发布了新的流计算的API,Structured Streaming/结构化流。Str...原创 2020-04-16 17:10:08 · 218 阅读 · 0 评论 -
【Structured Streaming】读取Socket数据
前言今天我们来学习如何用Structured Streaming读取Socket数据,在学习读取Socket数据之前呢,首先我们先扩展一些内容扩展spark 2.0中初步提供了一些内置的source支持。Socket source: 从socket连接中读取文本内容。File source: 以数据流的方式读取一个目录中的文件。支持text、csv、json、parquet等...原创 2020-04-16 16:50:37 · 587 阅读 · 0 评论 -
【Spark】Standalone集群模式安装部署
集群角色介绍Spark是基于内存计算的大数据并行计算框架,实际中运行计算任务肯定是使用集群模式,那么我们先来学习Spark自带的standalone集群模式了解一下它的架构及运行机制。Standalone集群使用了分布式计算中的master-slave模型master:集群中含有master进程的节点slave:集群中的worker节点含有Executor进程Spark架构图...原创 2020-04-16 11:48:13 · 484 阅读 · 0 评论 -
【Spark】Local本地模式安装部署
下载Spark安装包下载地址:http://spark.apache.org/downloads.html上传安装包cd /export/soft/rz解压tar -zxvf ./spark-2.2.0-bin-2.6.0-cdh5.14.0.tgz -C ../servers/解压目录说明bin:可执行脚本conf:配置文件dat...原创 2020-04-15 08:16:59 · 459 阅读 · 0 评论 -
【Spark】Spark初介绍
介绍Apache Spark是用于大规模数据处理的统一分析引擎Spark基于内存计算,提高了在大数据环境下数据处理的实时性,同时保证了高容错性和高可伸缩性,允许用户将Spark部署在大量硬件之上,形成集群官网:http://spark.apache.orghttp://spark.apachecn.org特点快:与Hadoop的MapReduce相比,Spark基...原创 2020-04-14 23:54:42 · 349 阅读 · 1 评论