一文了解Spark引擎的优势及应用场景
Spark引擎诞生的背景 Spark的发展历程可以追溯到2009年,由加州大学伯克利分校的AMPLab研究团队发起。成为Apache软件基金会的孵化项目后,于2012年发布了第一个稳定版本。 以下是Spark的主要发展里程碑: 初始版本发布:2010年开发的Matei Zaharia的研究...[2024/6/17]
使用spark-sql处理Doris大表关联
背景 最近项目上有一个需求,需要将两张表(A表和B表)的数据进行关联并回写入其中一张表(A表),两张表都是分区表,但是关联条件不包括分区字段。 分析过程 方案一 最朴素的想法,直接关联执行,全表关联,一条SQL搞定全部逻辑。想法越简单,执行越困难。由于数据量大,服务器规模较小,尽管各台服务器内...[2024/6/12]
图解Spark排序算子sortBy的核心源码
原创/朱季谦 一、案例说明 以前刚开始学习Spark的时候,在练习排序算子sortBy的时候,曾发现一个有趣的现象是,在使用排序算子sortBy后直接打印的话,发现打印的结果是乱序的,并没有出现完整排序。 例如,有一个包含多个(姓名,金额)结构的List数据,将这些数据按照金额降序排序时...[2023/9/19]
图解Spark Graphx基于connectedComponents函数实现连通图底层原理
原创/朱季谦 第一次写这么长的graphx源码解读,还是比较晦涩,有较多不足之处,争取改进。 一、连通图说明 连通图是指图中的任意两个顶点之间都存在路径相连而组成的一个子图。 用一个图来说明,例如,下面这个叫graph的大图里,存在两个连通图。 左边是一个连接图,该子图里每个顶点都存...[2023/9/4]
CDC一键入湖:当 Apache Hudi DeltaStreamer 遇见 Serverless Spark
Apache Hudi的DeltaStreamer是一种以近实时方式摄取数据并写入Hudi表的工具类,它简化了流式数据入湖并存储为Hudi表的操作,自 0.10.0 版开始,Hudi又在DeltaStreamer的基础上增加了基于Debezium的CDC数据处理能力,这使得其可以直接将Debez...[2023/9/4]
图解Spark Graphx实现顶点关联邻接顶点的collectNeighbors函数原理
一、场景案例 在一张社区网络里,可能需要查询出各个顶点邻接关联的顶点集合,类似查询某个人关系比较近的都有哪些人的场景。 在用Spark graphx中,通过函数collectNeighbors便可以获取到源顶点邻接顶点的数据。 下面以一个例子来说明,首先,先基于顶点集和边来创建一个Gra...[2023/9/1]
Hive 和 Spark 分区策略剖析
作者:vivo 互联网搜索团队- Deng Jie 随着技术的不断的发展,大数据领域对于海量数据的存储和处理的技术框架越来越多。在离线数据处理生态系统最具代表性的分布式处理引擎当属Hive和Spark,它们在分区策略方面有着一些相似之处,但也存在一些不同之处。 一、概述 随着技术的不断的...[2023/4/3]
微软外服札记④——Spark中的那些坑...
Spark中的那些坑 Spark中的那些坑 前言 读取配置文件 时区陷阱 怪异的DayOfWeek substring陷阱 IP地址解析 枚举的数值 posexplode函数 为什么我的程序运行那么慢?慎用Count()和Show() 为什么我的程序运行那么慢?(2)优化、优化 其它 题外...[2023/2/1]
Docker-Compose搭建Spark集群的实现方法
目录一、前言二、docker-compose.yml三、启动集群四、结合hdfs使用 一、前言 在前文中,我们使用Docker-Compose完成了hdfs集群的构建。本文将继续使用Docker-Compose,实现Spark集群的搭建。 二、docker-compose.yml 对于S...[2022/5/30]
大数据Spark Sql中日期转换FROM_UNIXTIME和UNIX_TIMESTAMP的使用
目录UNIX_TIMESTAMPFROM_UNIXTIME 众所周知,数字整型用来大小比较和计算运算要比字符型快的多,因此部分业务需要把时间字段转化为整型方便业务的快速计算和到达,这个整形数字是选定的日期距UTC 时间 '1970-01-01 00:00:00'&...[2022/2/28]
[离线计算-Spark|Hive] 数据近实时同步数仓方案设计
背景 最近阅读了大量关于hudi相关文章, 下面结合对Hudi的调研, 设计一套技术方案用于支持 MySQL数据CDC同步至数仓中,避免繁琐的ETL流程,借助Hudi的upsert, delete 能力,来缩短数据的交付时间. 组件版本: Hadoop 2.6.0 Hive 1.1.0...[2022/1/17]
[离线计算-Spark|Hive] 大数据应用性能指标采集工具改造落地
背景 主要介绍针对平台的spark应用程序,在不修改用户程序的情况下 如何采集其资源和性能指标为后续分析使用,如性能优化,资源使用计价等. 分析挑战 在应用程序级别关联大量进程的指标 在分布式环境中,多个 Spark 应用程序运行在同一台服务器上,每个 Spark 应用程序都有大量的进程(例如...[2022/1/17]
[平台建设] Spark任务的诊断调优
背景 平台目前大多数任务都是Spark任务,用户在提交Spark作业的时候都要进行的一步动作就是配置spark executor 个数、每个executor 的core 个数以及 executor 的内存大小等,这项配置目前基本靠用户个人经验,在这个过程中,有的用户就会设置非常不合理,比如配置的...[2022/1/1]
Spark3 学习【基于Java】4. Spark-Sql数据源
通过DF,Spark可以跟大量各型的数据源(文件/数据库/大数据)进行交互。前面我们已经看到DF可以生成视图,这就是一个非常使用的功能。 简单的读写流程如下: 通过read方法拿到DataFrameReader对象,与之类似的就有DataFrameWriter对象,通过DF的writ...[2021/12/15]
实时计算框架:Spark集群搭建与入门案例
一、Spark概述 1、Spark简介 Spark是专为大规模数据处理而设计的,基于内存快速通用,可扩展的集群计算引擎,实现了高效的DAG执行引擎,可以通过基于内存来高效处理数据流,运算速度相比于MapReduce得到了显著的提高。 2、运行结构 Driver 运行Spark的Appli...[2021/5/6]
SparkStreaming两种方式连接Flume
SparkStreaming 连接Flume的两种方式分别为:Push(推)和Pull(拉)的方式实现,以Spark Streaming的角度来看,Push方式属于推送(由Flume向Spark推送数据);而Pull属于拉取(Spark 拉取 Flume的输出数据); Flume向Sp...[2021/4/12]
使用Spark加载数据到SQL Server列存储表
原文地址https: devblogs.microsoft.com/azure-sql/partitioning-on-spark-fast-loading-clustered-columnstore-index/ 介绍 SQL Server的Bulk load默认为串行,这意味着例如,一个B...[2021/3/8]
Spark学习之Dataset (DataFrame) 的基础操作
有类型操作 1.转换类型的操作 转换类型的操作主要包含:flatMap、map、mapPartitions、transform、as (1)flatMap 方法描述:通过 flatMap 可以将一条数据转为一个数组, 后再展开这个数组放入 Dataset val ds: Datas...[2021/1/25]
Spark性能优化指南
1 Spark开发调优篇 原则一:避免创建重复的RDD 原则二:尽可能复用同一个RDD 原则三:对多次使用的RDD进行持久化 原则四:尽量避免使用shuffle类算子 因此在我们的开发过程中,能避免则尽可能避免使用reduceByKey、join、distinct、repartition...[2020/11/23]
Spark参数优化
a. 提升Spark运行 spark.sql.adaptive.enabled=true spark的自适应执行,启动Adaptive Execution spark.dynamicAllocation.enabled=true 开启动态资源分配,Spark可以根据当前作业的...[2020/11/23]
Spark内核-部署模式
Master URL Meaning local 在本地运行,只有一个工作进程,无并行计算能力。 local[K] 在本地运行,有K个工作进程,通常设置K为机器的CPU核心数量。 local[*] 在本地运行,工作进程数量等于机器的CPU核心数量。 spark: ...[2020/11/23]
Spark内核-任务调度机制
作者:十一喵先森 链接:https: juejin.im/post/5e1c414fe51d451cad4111d1 来源:掘金 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 对上文的总结 Spark 任务调度概述 一个Spark应用程序包括Job、St...[2020/11/23]
Spark性能调优篇八之shuffle调优
1 task的内存缓冲调节参数 2 reduce端聚合内存占比 spark.shuffle.file.buffer map task的内存缓冲调节...[2020/11/23]
Spark性能调优九之常用算子调优
1.使用mapPartitions算子提高性能 mapPartition的优点:使用普通的map操作,假设一个partition中有1万条数据,那么function就要被执行1万次,但是使用mapPartitions操作之后,function仅仅会被执行一次,显然性能得到了很大的提升,这...[2020/11/23]
Spark性能优化指南-美团
Spark性能优化指南——高级篇 Spark性能优化指南——基础篇 原文链接:http: www.cnblogs.com/weijiqian/p/14004400.html[2020/11/23]
Spark-1-调优基本原则
1基本概念和原则 每一台host上面可以并行N个worker,每一个worker下面可以并行M个executor,task们会被分配到executor上面去执行。Stage指的是一组并行运行的task,stage内部是不能出现shuffle的,因为shuffle的就像篱笆一样阻止了并行t...[2020/11/23]
Spark-2-性能监控方式
1 Spark Web UI Spark提供了一些基本的Web监控页面,对于日常监控十分有用。 通过http: master:4040(默认端口是4040,可以通过spark.ui.port修改)我们可以获得运行中的程序信息:(1)stages和tasks调度情况;(2)RDD大小及...[2020/11/23]
Spark Streaming任务延迟监控及告警
概述 StreamingListener 是针对spark streaming的各个阶段的事件监听机制。 StreamingListener接口 需要监听spark streaming中各个阶段的事件只需实现这个特质中对应的事件函数即可 本身既有注释说明 trait Streami...[2019/11/4]
1-Spark-1-性能调优-数据倾斜1-特征/常见原因/后果/常见调优方案
数据倾斜特征:个别Task处理大部分数据 后果:1.OOM;2.速度变慢,甚至变得慢的不可接受 常见原因: 数据倾斜的定位: 1.WebUI(查看Task运行的数据量的大小)。 2.Log,查看log中哪一行出现OOM,查找具体哪个Stage,进而确定哪一个shuff...[2019/9/26]
Spark学习笔记3——RDD(下)
目录 Spark学习笔记3——RDD(下) 向Spark传递函数 通过匿名内部类 通过具名类传递 通过带参数的 Java 函数类传递 通过 lambda ...[2019/9/19]
Spark学习笔记0——简单了解和技术架构
目录 Spark学习笔记0——简单了解和技术架构 什么是Spark 技术架构和软件栈 Spark Core Spark SQL Spark Streami...[2019/9/11]
Spark Scala当中reduceByKey的用法
[学习笔记] /*reduceByKey(function)reduceByKey就是对元素为KV对的RDD中Key相同的元素的Value进行function的reduce操作(如前所述),因此,Key相同的多个元素的值被reduce为一个值,然后与原RDD中的Key组成一个新的KV对。 ...[2019/8/15]
Spark和Scala当中的collect方法的用法和例子
[学习笔记] collect: 收集一个弹性分布式数据集的所有元素到一个数组中,这样便于我们观察,毕竟分布式数据集比较抽象。Spark的collect方法,是Action类型的一个算子,会从远程集群拉取数据到driver端。最后,将大量数据 汇集到一个driver节点上,将数据用数组...[2019/8/14]
Spark Scala当中reduceByKey(_+_) reduceByKey((x,y) => x+y)的用法
[学习笔记] reduceByKey(_+_)是reduceByKey((x,y) => x+y)的一个 简洁的形式*/ val rdd08 = sc.parallelize(List((1, 1), (1, 4),(1, 3), (3, ...[2019/8/14]
Win7 Eclipse 搭建spark java1.8(lambda)环境:WordCount helloworld例子
[学习笔记] Win7 Eclipse 搭建spark java1.8(lambda)环境:WordCount helloworld例子lambda表达式是java8给我们带来的一个重量的新特性,借用lambda表达式可以让我们的程序设计更加简洁。package com;import org....[2019/8/13]
spark学习(9)-spark的安装与简单使用
spark和mapreduce差不多,都是一种计算引擎,spark相对于MapReduce来说,他的区别是,MapReduce会把计算结果放 在磁盘,spark把计算结果既放在磁盘中有放在内存中,mapreduce把可能会把一个大任务分成多个stage,瓶颈发生在IO,spark有一...[2019/8/12]
Win7 Eclipse 搭建spark java1.8编译环境,JavaRDD的helloworld例子
[学习笔记] Win7 Eclipse 搭建spark java1.8编译环境,JavaRDD的helloworld例子:在eclipse oxygen上创建一个普通的java项目,然后把spark-a embly-1.6.1-hadoop2.6.0.jar这个包导进工程就ok了。p...[2019/8/5]
Spark Scala当中reduceByKey的用法
[学习笔记] reduceByKey(function) reduceByKey就是对元素为KV对的RDD中Key相同的元素的Value进行function的reduce操作(如前所述),因此,Key相同的多个元素的值被reduce为一个值,然后与原RDD中的Key组成一个新的KV对。 文章转...[2019/7/30]
Spark的运行流程详解
一、Spark提交应用任务的四个阶段: 总共提交的任务分为四个阶段,提交+执行: 1、在分配完毕executor以后,解析代码生成DAG有向无环图; 2、将生成的DAG图提交给DAGScheduler,这个组件在driver内,DAG...[2019/7/30]
Spark Scala当中reduce的用法和例子
[学习笔记] reduce将RDD中元素前两个传给输入函数,产生一个新的return值,将新产生的return值与RDD中下一个元素(即第三个元素)组成两个元素,再被传给输入函数,这样递归运作,直到最后只有一个值为止。*/ val rdd07 = sc.pa...[2019/7/29]
SparkSql 整合 Hive
SparkSql整合Hive 需要Hive的元数据,hive的元数据存储在Mysql里,sparkSql替换了yarn,不需要启动yarn,需要启动hdfs 首先你得有hive,然后你得有spark,如果是高可用hadoop还得有zookeeper,还得有dfs(hadoop中的) ...[2019/7/26]
Spark学习一:Spark概述
1.1 什么是Spark ? Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。 ? 一站式管理大数据的所有场景(批处理,流处理,sql) ? spark不涉及到数据的存储,只做数据的计算 ? Spark是UC Berkeley AMP lab (加州大学伯克利分校的...[2019/7/25]
SparkStreaming 整合kafka Demo
这里使用的是低级API,因为高级API非常不好用,需要繁琐的配置,也不够自动化,却和低级API的效果一样,所以这里以低级API做演示 你得有zookeeper和kafka 我这里是3台节点主机 架构图 与高级API的区别,简单并行(不需要创造多个输入流,它会...[2019/7/24]
SparkStreaming wordCountDemo基础案例
体现sparkStreaming的秒级准实时性,所以我们需要一个能够持续输入数据的东东 1.CentOS上下载nc 创建一个scala工程,导入相关pom依赖 <?xml version="1.0" encoding="UTF-8"?> <...[2019/7/23]
SparkStreaming整合flume
SparkStreaming整合flume 在实际开发中push会丢数据,因为push是由flume将数据发给程序,程序出错,丢失数据。所以不会使用不做讲解,这里讲解poll,拉去flume的数据,保证数据不丢失。 1.首先你得有flume 比如你有:【如果没有请走这篇:搭建flume集群...[2019/7/23]
Spark的lazy特性有什么意义呢?
[学习笔记] Spark通过lazy特性有什么意义呢? Spark通过lazy特性,可以进行底层的spark应用执行的优化。在生活中,就像三思而后行。谋定而后动。 文章转载自原文:https: blog.csdn.net/qq_44596980/article/detai...[2019/7/22]
centos 7 cloudera-manager5.16.2,CDH5.16.2安装升级spark2.4.0
1.在已经安装好系统的linux服务器上关闭selinux和iptables 2.在所有linux服务器上配置ntp服务并设置ntp时间同步 3.在所有linux服务器上安装好cm和cdh版本所需要对应的java版本 (1).下载java包到/usr/local目录解压 (2).添加jav...[2019/7/15]
java.lang.reflect.InvocationTargetException at shade.com.datastax.spark.connector.google.common.base.Throwables.propagate(Throwables.java160)
org.apache.spark.SparkException: Job aborted due to stage failure: Task 1 in stage 29.1 failed 4 times, most recent failure: Lost task 1.3 in stage 2...[2019/7/12]
spark 机器学习 随机森林 实现(二)
通过天气,温度,风速3个特征,建立随机森林,判断特征的优先级结果 天气 温度 风速结果(0否,1是)天气(0晴天,1阴天,2下雨)温度(0热,1舒适,2冷)风速(0没风,1微风,2大风)1 1:0 2:1 3:0结果去打球 1字段:晴天 2字段:温度舒适 3字段:风速没风[hadoop@h201 ...[2019/6/20]
spark 机器学习 随机森林 原理(一)
1.什么是随机森林顾名思义,是用随机的方式建立一个森林,森林里面有很多的决策树组成,随机森林的每一棵决 策树之间是没有关联的。在得到森林之后,当有一个新的输入样本进入的时候,就让森林中的每一棵决策树分别进行一下判断,看看这个样本应该属于哪一类(对于分类算法),然后看看哪一 类被选择最多,就预测这个...[2019/6/18]