Spark
Spark 内容总结
天地不仁以万物为刍狗
天之道,损有余而补不足
人之道,损不足以奉有馀
展开
-
Spark调优 | Spark SQL参数调优
前言Spark SQL里面有很多的参数,而且这些参数在Spark官网中没有明确的解释,可能是太多了吧,可以通过在spark-sql中使用set -v 命令显示当前spark-sql版本支持的参数。本文讲解最近关于在参与hive往spark迁移过程中遇到的一些参数相关问题的调优。内容分为两部分,第一部分讲遇到异常,从而需要通过设置参数来解决的调优;第二部分讲用于提升性能而进行的调优。...转载 2019-07-29 10:51:13 · 1070 阅读 · 0 评论 -
Spark:几种给Dataset增加列的方式、Dataset删除列、Dataset替换null列
几种给Dataset增加列的方式首先创建一个DF对象:scala> spark.versionres0: String = 2.2.0.cloudera1scala> val df = spark.createDataset(Seq(("key1", 23, 1.0), ("key1", 10, 2.0))).toDF("id", "rsrp", "rsrq")df:...转载 2019-07-25 14:10:47 · 2028 阅读 · 0 评论 -
如何解决springboot整合spark日志打印级别问题?
一、由于项目中使用到了springboot框架,会导致springboot中的slf4j和spark中的log4j日志组件冲突,springboot推荐使用slf4j+logback的模式来记录日志,logback比log4j更快的实现、更完善的配置,因此:1、pom文件中去除依赖了log4j的jar包。这一步不做也可以但是会导致,slf4j同时logback和log4j,产生冲突。 &...转载 2019-07-17 15:33:19 · 513 阅读 · 0 评论 -
SPARK-SQL内置函数之时间日期类
转载请注明转自:http://www.cnblogs.com/feiyumo/p/8760846.html一、获取当前时间1.current_date获取当前日期2018-04-092.current_timestamp/now()获取当前时间2018-04-09 15:20:49.247二、从日期时间中提取字段1.year,month,day/dayofmonth,...转载 2019-07-12 17:18:37 · 425 阅读 · 0 评论 -
Flink VS Spark:大数据流式计算的巅峰对决
在流式计算领域,同一套系统需要同时兼具容错和高性能其实非常难,同时它也是衡量和选择一个系统的标准。在这个领域,Flink和Spark无疑是彼此非常强劲的对手。1. Flink VS Spark 之 APISpark与Flink API情况如下:Spark与Flink 对开发语言的支持如下所示:2. Flink VS Spark 之 ConnectorsSpa...转载 2019-07-12 17:00:10 · 238 阅读 · 0 评论 -
DataFrame/RDD/DataSet的异同
自Spark1.4加入DataFrame,1.6加入dataSet以来,RDD的主导地位不断下降,在Spark2.0.0版本之后,社区已经开始建议开发者慢慢放弃使用RDDl了,在版本的升级过程中,不同的组件对于DataSet的支持逐渐加强,目前的稳定版本可以说是DataSet已经完全取代了RDD的作用,那么这三者之间有什么区别和相似之处呢?一、共性1、RDD、DataFrame、Datas...转载 2019-07-09 08:51:55 · 258 阅读 · 0 评论 -
DataFlow编程模型与Spark Structured streaming
流式(streaming)和批量( batch):流式数据,实际上更准确的说法应该是unbounded data(processing),也就是无边界的连续的数据的处理;对应的批量计算,更准确的说法是bounded data(processing),亦即有明确边界的数据的处理。 近年来流式计算框架编程接口的标准化,傻瓜化,SQL化日渐有走上台面的趋势。各家计算框架都开始认真考虑相关的问题,俨然成...转载 2019-07-03 17:26:21 · 384 阅读 · 0 评论 -
win10 安装 spark 开发环境
1、配置 hadoop下载hadoop:官方地址:http://hadoop.apache.org/releases.html解压配置环境变量:HADOOP_HOME 和 Path。2、配置Spark下载spark:官网地址:http://spark.apache.org/downloads.html下载完成后解压到D盘根目录下即可。D:\spark-2.3....原创 2019-07-01 10:05:55 · 141 阅读 · 0 评论 -
【秒懂StructuredStreaming】手把手教你写StructuredStreaming + Kafka程序
转 :https://blog.csdn.net/lovechendongxing/article/details/81748553转载 2019-06-28 16:57:19 · 311 阅读 · 1 评论 -
Spark Structured Streaming + Kafka使用笔记
这篇博客将会记录Structured Streaming + Kafka的一些基本使用(Java 版)1. 概述Structured Streaming (结构化流)是一种基于 Spark SQL 引擎构建的可扩展且容错的 stream processing engine (流处理引擎)。可以使用Dataset/DataFrame API 来表示 streaming aggregation...转载 2019-06-27 19:20:53 · 3317 阅读 · 1 评论 -
Databrick 's Blog on Spark Structured Streaming Summary Part1 实时数据使用Structured Streaming的ETL操作
Part1实时数据使用Structured Streaming的ETL操作1.1 Introduction在大数据时代中我们迫切需要实时应用解决源源不断涌入的数据,然而建立这么一个应用需要解决多个问题:1. 提供端到端的可靠性与正确性2. 执行复杂转换(JSON, CSV, etc.)3. 解决乱序数据4. 与其他系统整合(Kafka, HDFS, etc.)Stru...转载 2019-06-27 18:58:16 · 252 阅读 · 0 评论 -
Spark SQL用UDF实现按列特征重分区 repatition
转:https://cloud.tencent.com/developer/article/1371921解决问题之前,要先了解一下Spark 原理,要想进行相同数据归类到相同分区,肯定要有产生shuffle步骤。比如,F到G这个shuffle过程,那么如何决定数据到哪个分区去的呢?这就有一个分区器的概念,默认是hash分区器。假如,我们能在分区这个地方着手的话肯定能实现我们的目标...转载 2019-06-27 00:49:42 · 1157 阅读 · 0 评论 -
Spark入门之DataFrame/DataSet
目录Part I. Gentle Overview of Big Data and Spark Overview 1.基本架构 2.基本概念 3.例子(可跳过) Spark工具箱 1.Datasets: Type-Safe Structured APIs 2.Structured Streaming 3.Machine Learning and ...转载 2019-06-27 00:39:20 · 1159 阅读 · 0 评论 -
Spark 打包 fat jar pom配置
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4....原创 2019-06-24 16:14:59 · 931 阅读 · 0 评论 -
spark-kafka direct方式读取和receiver方式读取的区别
区别Spark-Streaming获取kafka数据的两种方式-Receiver与Direct的方式,可以从代码中简单理解成Receiver方式是通过zookeeper来连接kafka队列,Direct方式是直接连接到kafka的节点上获取数据了。一、基于Receiver的方式这种方式使用Receiver来获取数据。Receiver是使用Kafka的高层次Consumer API来...转载 2019-06-24 16:15:17 · 464 阅读 · 0 评论 -
Apache Spark 社区期待的 Delta Lake 开源了
2019年4月24日在美国旧金山召开的Spark+AI Summit 2019 会上,Databricks 的联合创始人及 CEO Ali Ghodsi 宣布将 Databricks Runtime 里面的 Delta Lake 基于 Apache License 2.0 协议开源。Delta Lake 是一个存储层,为 ApacheSpark和大数据 workloads 提供 ACID 事...转载 2019-06-20 09:23:28 · 425 阅读 · 0 评论 -
sparkstreaming对接kafka出现的数据积压问题
kafka数据积压问题1. 问题描述生产环境开发了一套sparkstreaming对接kafka,并进行数据处理的程序。刚开始程序运行的很好,kafka集群被人动过之后,重启spark程序时出现如下报警信息:18/06/20 15:29:21 WARN kafka010.KafkaUtils: overriding enable.auto.commit to false for ex...转载 2019-06-18 19:00:31 · 1795 阅读 · 0 评论 -
SparkStreaming之优雅停止
1.监听redis的某个key是否存在/** * 优雅的停止Streaming程序 * * @param ssc */def stopByMarkKey(ssc: StreamingContext): Unit = { val intervalMills = 10 * 1000 // 每隔10秒扫描一次消息是否存在 var isStop = false ...转载 2019-06-18 16:32:53 · 527 阅读 · 0 评论 -
Spark 多线程模型
简单的说Spark框架,虽然是多线程模型对于写业务代码的人来说是不涉及多多线程的,原因是会复杂化,不符合编码工程学,简单易用才是最好的但Spark设置到的内存共享还是需要知道的...原创 2018-05-18 22:19:23 · 3056 阅读 · 0 评论 -
Mark : SparkSQL Catalyst解析
来源 :阿里Apache Spark 技术中国社区阿里巴巴开源大数据技术团队成立Apache Spark中国技术社区,定期推送精彩案例,问答区数个Spark技术同学每日在线答疑,只为营造纯粹的Spark氛围,欢迎加入!钉钉群号:23109202Catalyst Optimizer是SparkSQL的核心组件(查询优化器),它负责将SQL语句转换成物理执行计划,Catalyst的优劣决定...转载 2019-04-19 12:43:55 · 258 阅读 · 0 评论 -
Spark SQL 查询引擎Catalyst分析
Spark SQL 查询引擎Catalyst分析Catalyst整体架构图Catalyst执行流程catalyst是spark sql的调度核心,遵循传统数据库查询解析步骤,对sql进行解析,转换为逻辑查询计划,物理查询计划,最终转化为Spark的DAG后在执行,下图为Catalyst的执行流程。SqlParser将SQL语句被解析为语法树(AST),也就是未解析的逻...转载 2019-04-19 09:53:35 · 527 阅读 · 0 评论 -
Mark :spark运行逻辑 简单易懂的总结
1.架构Master 做为整个集群的控制器复负责整个集群的正常运行Worker 相当于计算节点,接收主节点命令与进行状态汇报。运行一个或多个Executor进程,相当于计算节点Client 用户提交作业的客户端Driver 负责控制一个应用的执行,运行Application的main函数和初始化SparkContext,Driver将Task和Task所依赖的file和jar(序列化...转载 2019-04-19 09:44:33 · 261 阅读 · 0 评论 -
Apache Spark 统一内存管理模型详解
本文将对Spark的内存管理模型进行分析,下面的分析全部是基于 ApacheSpark2.2.1 进行的。为了让下面的文章看起来不枯燥,我不打算贴出代码层面的东西。文章仅对统一内存管理模块(UnifiedMemoryManager)进行分析,如对之前的静态内存管理感兴趣,请参阅网上其他文章。我们都知道Spark能够有效的利用内存并进行分布式计算,其内存管理模块在整个系统中扮演着非常...转载 2019-04-12 17:14:04 · 147 阅读 · 0 评论 -
Spark core中的cache、persist区别,以及缓存级别详解
概述本次我们将学习Spark core中的cache操作以及和 persist的区别。首先大家可能想到的是cache到底是什么呢?他有什么作用呢?我们可以带着这两个问题进行下面的学习。本文结构:1. cache的产生背景2. cache的作用3. 源码解析cache于persist的区别,以及缓存级别详解1 cache的产生背景我们先做一个简单的测试读取一个本地文件做一次col...转载 2019-04-10 17:52:31 · 192 阅读 · 0 评论 -
Spark - isEmpty() trap in Spark
Versions:Spark 2.1.0In general Spark's actions reflects logic implemented in a lot of equivalent methods in programming languages. As an example we can consider isEmpty() that in Spark checks the e...转载 2019-03-29 09:13:37 · 894 阅读 · 0 评论 -
Spark - spark error Mark 待解决
spark运行时,在driver 处抛出异常,不知道什么原因不能确定是不是网络问题2019/03/19 18:04:54.114 INFO Driver commanded a shutdown2019/03/19 18:04:54.126 ERROR Still have 1 requests outstanding when connection from r-hdsl01/1...原创 2019-03-20 10:57:29 · 707 阅读 · 1 评论 -
Spark - Spark中各个角色的JVM参数设置
Driver的JVM参数-Xmx,-Xmsyarn-client模式 :则默认读取spark-env文件中的SPARK_DRIVER_MEMORY值,-Xmx,-Xms值一样大小;yarn-cluster模式 :则读取的是spark-default.conf文件中的spark.driver.extraJavaOptions对应的JVM参数值。PermSizeyarn-client模式 ...原创 2019-03-18 13:09:37 · 1870 阅读 · 0 评论 -
Spark Mark - Spark的位置优先: TaskSetManager 的有效 Locality Levels
在Spark Application Web UI的 Stages tag 上,我们可以看到这个的表格,描述的是某个 stage 的 tasks 的一些信息,其中 Locality Level 一栏的值可以有 PROCESS_LOCAL、NODE_LOCAL、NO_PREF、RACK_LOCAL、ANY 几个值。这篇文章将从这几个值入手,从源码角度分析 TaskSetManager 的 Local...转载 2019-03-15 12:11:14 · 158 阅读 · 0 评论 -
Spark源码分析 - Spark CommitCoordinator 保证数据一致性
概述Spark 输出数据到 HDFS 时,需要解决如下问题:由于多个 Task 同时写数据到 HDFS,如何保证要么所有 Task 写的所有文件要么同时对外可见,要么同时对外不可见,即保证数据一致性 同一 Task 可能因为 Speculation 而存在两个完全相同的 Task 实例写相同的数据到 HDFS中,如何保证只有一个 commit 成功 对于大 Job(如具有几万甚至几十万...转载 2019-03-08 18:01:56 · 296 阅读 · 0 评论 -
spark - spark-submit启动参数说明
启动参数/bin/spark-submit--master yarn-cluster--num-executors 100--executor-memory 6G--executor-cores 4--driver-memory 1G--conf spark.default.parallelism=1000--conf spark.storage.memoryFraction=0...转载 2019-03-07 18:02:12 · 1100 阅读 · 0 评论 -
经验 - spark中的pipeline机制
问题如果一个源数据有1亿行, 对这个源数据分别做map()操作和flatMap()操作, 过程是下面描述的那种流程, 为什么?1 每读1条数据, 顺次执行map()和flatMap(), 再读取下一条;2 对1亿条数据遍历做完map()后, 然后再重新读取一遍这1亿条数据, 做flatMap()操作.意外的是, 很多人能说出同一个stage...转载 2019-03-05 09:02:04 · 1356 阅读 · 0 评论 -
经验 - spark代码执行过程(Driver , Execute)
我们自己编写了spark代码后;放到集群中一执行,就会出现问题,没有序列化、指定的配置文件不存在、classnotfound等等。这其实很多时候就是因为我们对自己编写的spark代码执行流程的不熟悉导致的,源码阅读可以解决,但源码不是每个人都能看懂或能看进去的,下面我们就来讲一下,我们自己写的spark代码究竟是这么执行的。从执行的过程可分为三个部分来分析main方法,RDD处理方法,DStrea...转载 2019-02-26 13:06:02 · 3267 阅读 · 0 评论 -
*** 重点 *** - 深度剖析Spark分布式执行原理
让代码分布式运行是所有分布式计算框架需要解决的最基本的问题。Spark是大数据领域中相当火热的计算框架,在大数据分析领域有一统江湖的趋势,网上对于Spark源码分析的文章有很多,但是介绍Spark如何处理代码分布式执行问题的资料少之又少,这也是我撰写文本的目的。Spark运行在JVM之上,任务的执行依赖序列化及类加载机制,因此本文会重点围绕这两个主题介绍Spark对代码分布式执行的处理。本...转载 2019-02-25 18:34:41 · 133 阅读 · 0 评论 -
学习笔记 - RDD、DataFrame、Dataset
共性1、RDD、DataFrame、Dataset全都是spark平台下的分布式弹性数据集,为处理超大型数据提供便利2、三者都有惰性机制,在进行创建、转换,如map方法时,不会立即执行,只有在遇到Action如foreach时,三者才会开始遍历运算,极端情况下,如果代码里面有创建、转换,但是后面没有在Action中使用对应的结果,在执行时会被直接跳过3、三者都会根据spark的内存...原创 2019-01-23 18:47:34 · 132 阅读 · 0 评论 -
学习笔记 --- Kafka Spark Streaming获取Kafka数据 Receiver与Direct的区别
Receiver使用Kafka的高层次Consumer API来实现 receiver从Kafka中获取的数据都存储在Spark Executor的内存中,然后Spark Streaming启动的job会去处理那些数据 要启用高可靠机制,让数据零丢失,就必须启用Spark Streaming的预写日志机制(Write Ahead Log,WAL)。该机制会同步地将接收到的Kafka数据写入...原创 2018-12-04 09:43:25 · 402 阅读 · 0 评论 -
学习笔记 --- Spark SparkSQL下Parquet中PushDown的实现
PushDown是一种SQL优化方式,通常用在查询。应用场景:假设通过DataFrame,df.select(a,b,c).filter(by a).filter(by b).select(c).filter(by c)这样的查询,在optimizer阶段,需要合并多个filters(CombineFilters),并调整算子间的顺序,例如将部分filter移到select等前面(PushPr...原创 2018-12-03 16:22:47 · 388 阅读 · 0 评论 -
【Big Data 每日一题20180928】Structured Streaming 之 Watermark 解析
4.2 Structured Streaming 之 Watermark 解析[酷玩 Spark] Structured Streaming 源码解析系列 ,返回目录请 猛戳这里「腾讯·广点通」技术团队荣誉出品本文内容适用范围:* 2017.07.11 update, Spark 2.2 全系列 √ (已发布:2.2.0)* 2017.10.02 update, Spark 2....转载 2018-10-02 23:14:05 · 1036 阅读 · 1 评论 -
【Big Data 每日一题20180927】Structured Streaming 之 Event Time 解析
Structured Streaming 之 Event Time 解析[酷玩 Spark] Structured Streaming 源码解析系列 ,返回目录请 猛戳这里「腾讯·广点通」技术团队荣誉出品本文内容适用范围:* 2017.07.11 update, Spark 2.2 全系列 √ (已发布:2.2.0)* 2017.10.02 update, Spark 2.1 全...转载 2018-09-27 21:54:22 · 529 阅读 · 0 评论 -
【Big Data 每日一题20180926】Structured Streaming 之状态存储解析
Structured Streaming 之状态存储解析[酷玩 Spark] Structured Streaming 源码解析系列 ,返回目录请 猛戳这里「腾讯·广点通」技术团队荣誉出品本文内容适用范围:* 2017.07.11 update, Spark 2.2 全系列 √ (已发布:2.2.0)* 2017.10.02 update, Spark 2.1 全系列 √ (已发...转载 2018-09-27 21:54:28 · 654 阅读 · 0 评论 -
【Big Data 每日一题20180925】Structured Streaming 之 Sink 解析
Structured Streaming 之 Sink 解析[酷玩 Spark] Structured Streaming 源码解析系列 ,返回目录请 猛戳这里「腾讯·广点通」技术团队荣誉出品本文内容适用范围:* 2017.07.11 update, Spark 2.2 全系列 √ (已发布:2.2.0)* 2017.10.02 update, Spark 2.1 全系列 √ (...转载 2018-09-25 22:04:07 · 565 阅读 · 0 评论