- 博客(244)
- 资源 (2)
- 收藏
- 关注

原创 spark封神之路(11)-RDD缓存
3.3.2 RDD缓存RDD通过Cache或者Persist方法将前面的计算结果缓存,默认情况下会把数据以缓存在JVM的堆内存中。但是并不是这两个方法被调用时立即缓存,而是触发后面的action算子时,该RDD将会被缓存在计算节点的内存中,并供后面重用。当一个RDD多次被使用,或者是RDD的计算任务链比较长,计算的结果相对较珍贵的场景下图中标注的是两个Job中的RDD是不能同时使用一份数据使用缓存以后数据只加载一次 , 将多次使用的RDD数据缓存起来persist和cache..
2021-06-21 12:45:28
549
2

原创 spark封神之路(10)-RDD依赖和血缘
3.3 RDD进阶3.3.1 RDD依赖关系3.3.1.1 依赖和血缘依赖和血缘关系RDD只支持粗粒度转换,即在大量记录上执行的单个操作。将创建RDD的一系列Lineage(血统)记录下来,以便恢复丢失的分区。RDD的Lineage会记录RDD的元数据信息和转换行为,当该RDD的部分分区数据丢失时,它可以根据这些信息来重新运算和恢复丢失的数据分区。(由于RDD中是不记录数据的,为了实现分布式计算中的容错 , RDD必须记录RDD之间的血缘关系)RDD之间的依赖关系相邻的两个RDD之间
2021-06-21 12:40:47
703
1

原创 spark封神之路(9)-RDD算子详解第三部分
RDD 是spark抽象出来的运算逻辑,RDD中是不存储数据的,只记录数据的操作和RDD之间的血缘关系,只有执行到行动算子的时候才会处理真正的数据!1.1 reducereduce将RDD中元素两两传递给输入函数,同时产生一个新值,新值与RDD中下一个元素再被传递给输入函数,直到最后只有一个值为止。def main(args: Array[String]): Unit = { val sc: SparkContext = SparkUtil.getSparkContext() val arr
2021-06-20 13:55:38
317

原创 spark封神之路(8)-RDD算子详解第二部分
1.8 sample def sortByKey(ascending: Boolean = true, numPartitions: Int = self.partitions.length)采样操作,用于从样本中取出部分数据。withReplacement; 参数一 是否放回fraction : 每个元素取出的比例seed: 随机种子 , 用于返回结果数据 def main(args: Array[String]): Unit = { val sc: SparkContext
2021-06-20 13:48:41
564

原创 spark封神之路(7)-RDD算子详解第一部分
算子简介算子是一个函数空间到函数空间上的[映射]O:X→X。广义上的算子可以推广到任何空间,如[内积空间]等。RDD上的方法称为算子在 RDD 上支持 2 种操作: transformation转换 从一个已知的 RDD 中创建出来一个新的 RDD 例如: map就是一个transformation. *action *行动 在数据集上计算结束之后, 给驱动程序返回一个值. 例如: reduce就是一个action.在 Spark 中几乎所有的transformation
2021-06-11 20:19:46
777
3

原创 spark封神之路(6)-RDD创建详解
3.2 RDD编程在 Spark 中,RDD 被表示为对象,通过对象上的方法调用来对 RDD 进行转换。经过一系列的transformations定义 RDD 之后,就可以调用 actions 触发 RDD 的计算action可以是向应用程序返回结果(count, collect等),或者是向存储系统保存数据(saveAsTextFile等)。在Spark中,只有遇到action,才会执行 RDD 的计算(即延迟计算),这样在运行时可以通过管道的方式传输多个转换(计算逻辑)。要使用 Spark,开发者需
2021-06-11 20:08:17
633

原创 spark封神之路(4)-RDD详解
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数..
2021-06-08 13:38:34
386

原创 spark封神之路(3)-spark运行架构
3spark运行架构3.1核心组件在驱动程序中,通过SparkContext主导应用的执行 SparkContext可以连接不同类型的ClusterManager(Standalone、YARN、Mesos),连接后,获得集群节点上的Executor 一个Worker节点默认一个Executor,可通过SPARK_WORKER_INSTANCES调整 每个应用获取自己的Executor 每个Task处理一个RDD分区1、DriverSpark驱动节点,用于执行Spa...
2021-06-08 13:32:55
670

原创 spark封神之路(2)-spark运行模式
2spark运行模式入门1.官网地址http://spark.apache.org/2.文档查看地址https://spark.apache.org/docs/2.1.1/3.下载地址https://archive.apache.org/dist/spark/2.1idea编程开发创建maven项目,添加依赖<properties><maven.compiler.source>1.8</maven.compiler.so...
2021-06-08 13:18:18
960
3

原创 spark封神之路(1)-spark简介
1Spark简介Spark是一种快速、通用、可扩展的大数据分析引擎,2009年诞生于加州大学伯克利分校AMPLab,2010年开源,2013年6月成为Apache孵化项目,2014年2月成为Apache的顶级项目,2014年5月发布spark1.0,2016年7月发布spark2.0,2020年6月18日发布spark3.0.0快如闪电的统一分析引擎 分析处理海量的数据MapReduce:运算模型单一[map(落地)shufflereduce],和磁盘频繁的交...
2021-06-08 13:09:52
534

原创 IT大佬推荐-大数据学习指导路线,从此不迷路
零基础学习大数据指导学习路线!IT从业者转行大数据指导学习路线!您值得拥有更多学习资料WX:17710299606 免费获取学习资料
2021-05-28 12:37:26
308

原创 spark原理系列-Shuffle实现原理
什么时候需要 shuffle writer假如我们有个 spark job 依赖关系如下我们抽象出来其中的rdd和依赖关系:E <-------n------, C <--n---D---n-----F--s---, A <-------s------ B <--n----`-- G对应的划分后的RDD结构为:最终我们得到了整个执行过程:中间就涉及到sh...
2021-05-16 15:04:11
612

原创 视频直播实时项目
视频链接基于“艺人直播平台”业务背景的flink实时数据分析(实时数仓)项目,基于主流的实时数据分析系统技术架构实现,内含各类直播平台实时数据分析需求场景,各种flink技能点实战(含源码级修改),是巩固flink技能,快速获取flink实战熟练度不可多得的课程!业务背景示例相关报表可视化示例相关技术点示例实时统计拼团相关的指标示例拼团的主表:tb_groupon拼团的明细表:tb_groupon_users拼团的...
2021-04-26 13:17:15
655

原创 艺人直播-Flink实时数仓
视频链接基于“艺人直播平台”业务背景的flink实时数据分析(实时数仓)项目,基于主流的实时数据分析系统技术架构实现,内含各类直播平台实时数据分析需求场景,各种flink技能点实战(含源码级修改),是巩固flink技能,快速获取flink实战熟练度不可多得的课程!业务背景示例相关报表可视化示例相关技术点示例实时统计拼团相关的指标示例拼团的主表:tb_groupon拼团的明细表:tb_groupon_users拼团的...
2021-04-26 13:16:53
876
1

原创 大型动态规则实时市场营销系统
视频地址简单来说,本系统,核心是一个基于事件驱动且可进行动态规则计算的实时系统;在技术上,它是通用的;本套架构及系统内核,不仅可以用于“实时运营”,也可以用于“实时风控”,“实时推荐”,“实时交通监控”等场景。运营场景举例:下单促付款,新品发布信息精准送达;动态规则发布管理本系统可以在线进行规则的灵活定制,新增,修改,发布,停用,无需停机,无需修改代码实时效果监控本系统,在核心规则引擎之外,也集成了大量metric及跟踪数据输出,能在系统中及系...
2021-04-26 13:13:04
641

原创 flink最新实战项目视频
视频地址简单来说,本系统,核心是一个基于事件驱动且可进行动态规则计算的实时系统;在技术上,它是通用的;本套架构及系统内核,不仅可以用于“实时运营”,也可以用于“实时风控”,“实时推荐”,“实时交通监控”等场景。运营场景举例:下单促付款,新品发布信息精准送达;动态规则发布管理本系统可以在线进行规则的灵活定制,新增,修改,发布,停用,无需停机,无需修改代码实时效果监控本系统,在核心规则引擎之外,也集成了大量metric及跟踪数据输出,能在系统中及系...
2021-04-26 13:11:36
591

原创 flink实时项目
视频地址简单来说,本系统,核心是一个基于事件驱动且可进行动态规则计算的实时系统;在技术上,它是通用的;本套架构及系统内核,不仅可以用于“实时运营”,也可以用于“实时风控”,“实时推荐”,“实时交通监控”等场景。运营场景举例:下单促付款,新品发布信息精准送达;动态规则发布管理本系统可以在线进行规则的灵活定制,新增,修改,发布,停用,无需停机,无需修改代码实时效果监控本系统,在核心规则引擎之外,也集成了大量metric及跟踪数据输出,能在系统中及系...
2021-04-26 13:11:00
1288

原创 Flink动态规则实时智能营销系统
视频地址简单来说,本系统,核心是一个基于事件驱动且可进行动态规则计算的实时系统;在技术上,它是通用的;本套架构及系统内核,不仅可以用于“实时运营”,也可以用于“实时风控”,“实时推荐”,“实时交通监控”等场景。运营场景举例:下单促付款,新品发布信息精准送达;动态规则发布管理本系统可以在线进行规则的灵活定制,新增,修改,发布,停用,无需停机,无需修改代码实时效果监控本系统,在核心规则引擎之外,也集成了大量metric及跟踪数据输出,能在系统中及系...
2021-04-26 13:10:36
4476
4

原创 DorisDB系列文档(八)bitmap索引
DorisDB 支持基于Bitmap索引,对于有Filter的查询有明显的加速效果。原理1 什么是BitmapBitmap是元素为1个bit的, 取值为0,1两种情形的, 可对某一位bit进行置位(set)和清零(clear)操作的数组. Bitmap的使用场景有:用两个long型表示16学生的性别, 0表示女生, 1表示男生. 用bitmap表示一组数据中是否存在null值, 0表示元素不为null, 1表示为null. 一组数据的取值为(Q1, Q2, Q3, Q4), 表示季度;
2021-04-25 10:39:51
2080

原创 DorisDB系列文档(七) 物化视图
名词解释Duplicate 数据模型:DorisDB中的用于存放明细数据的数据模型,建表可指定,数据不会被聚合。 Base 表:DorisDB 中通过 CREATE TABLE 命令创建出来的表。 Materialized Views 表:简称 MVs,物化视图。使用场景在实际的业务场景中,通常存在两种场景并存的分析需求:对固定维度的聚合分析 和 对原始明细数据任意维度的分析。例如,在销售场景中,每条订单数据包含这几个维度信息(item_id, sold_time, customer_id
2021-04-25 10:38:36
1573

原创 DorisDB系列文档(六) Bloomfilter索引
1 什么是 Bloom FilterBloom Filter(布隆过滤器)是用于判断某个元素是否在一个集合中的数据结构,优点是空间效率和时间效率都比较高,缺点是有一定的误判率。布隆过滤器是由一个Bit数组和n个哈希函数构成。Bit数组初始全部为0,当插入一个元素时,n个Hash函数对元素进行计算, 得到n个slot,然后将Bit数组中n个slot的Bit置1。当我们要判断一个元素是否在集合中时,还是通过相同的n个Hash函数计算Hash值,如果所有Hash值在布隆过滤器里对应的Bit不.
2021-04-25 10:36:54
2157

原创 DorisDB系列文档(五) 表设计详解
1 数据存储基本原理由此可见, 查找维度列的前缀的查找过程为: 先查找shortkey index, 获得逻辑块的起始行号, 查找维度列的行号索引, 获得目标列的数据块, 读取数据块, 然后解压解码, 从数据块中找到维度列前缀对应的数据项.加速数据处理 列式存储 DorisDB的表和关系型数据相同, 由行和列构成. 每行数据对应用户一条记录, 每列数据有相同数据类型. 所有数据行的列数相同, 可以动态增删列. DorisDB中, 一张表的列可以分为维度列(也成为...
2021-04-25 10:32:56
5068
1

原创 DorisDB系列文档(三)基本原理
1 读取数据流程2 导入数据流程3 修改元数据流程1 读取数据流程用户可使用MySQL客户端连接FE,执行SQL查询, 获得结果。查询流程如下:① MySQL客户端执行DQL SQL命令。 ② FE解析, 分析, 改写, 优化和规划, 生成分布式执行计划。 ③ 分布式执行计划由 若干个可在单台be上执行的plan fragment构成, FE执行exec_plan_fragment, 将plan fragment分发给BE,指定其中一台BE为coordinator。 ④ B.
2021-04-25 10:23:46
1248

原创 DorisDB系列文档(四) 数据导入入门
1 查询流程2 导入流程3 修改元数据流程1 查询流程用户可使用MySQL客户端连接FE,执行SQL查询, 获得结果。查询流程如下:① MySQL客户端执行DQL SQL命令。 ② FE解析, 分析, 改写, 优化和规划, 生成分布式执行计划。 ③ 分布式执行计划由 若干个可在单台be上执行的plan fragment构成, FE执行exec_plan_fragment, 将plan fragment分发给BE,指定其中一台BE为coordinator。 ④ BE执行本地计算,
2021-04-25 10:11:00
2300

原创 程序员的买醉胜微醺,不喝的去和小盆友一桌
大家喝的是啤酒,这时你入座了……你给自己倒了杯可乐,这叫低配置。你给自已倒了杯啤酒,这叫标准配置。你给自己倒了杯茶水,这茶的颜色还跟啤酒一样,这叫木马。你给自己倒了杯可乐,还滴了几滴醋,不仅颜色跟啤酒一样,而且不冒热气还有泡泡,这叫超级木马。你的同事给你倒了杯白酒,这叫推荐配置。 人到齐了,酒席开始了。 你先一个人喝了一小口,这叫单元测试。 你跟旁边的人说哥们咱们随意,这叫交叉测试。 但是他说不行,这杯要干了,这叫压力测试。 于是你说那就大家一起来吧,这
2021-04-19 14:41:48
257

原创 Spark 的join 什么时候是宽依赖什么时候是窄依赖
1准备数据spark-shell --master spark://linux01:7077 --executor-meg --total-executor-cores 4 val sc: SparkContext = SparkUtils.getSc // 模拟数据产生 val rdd1 = sc.parallelize(Array( (1, "张三1"), (1, "张三2"), (2, "李四"), (3, "王五").
2021-04-18 10:41:12
908

原创 DorisDB系列文档(二) 快速开始
1.1 DorisDB基本概念1.2 DorisDB的系统架构1.3 DorisDB的手动部署1.4 数据流和控制流1.5 数据导入和查询1.6 测试常见问题1.1基本概念FE:FrontEnd DorisDB的前端节点,负责管理元数据,管理客户端连接,进行查询规划,查询调度等工作。 BE:BackEnd DorisDB的后端节点,负责数据存储,计算执行,以及compaction,副本管理等工作。 Broker:DorisDB中和外部HDFS/对象存储等外部数据对接的中转服务,辅助.
2021-04-12 16:17:38
3081

原创 DorisDB系列文档(一) DorisDB介绍
1.1 DorisDB是什么 1.2 DorisDB特性 1.2.1 架构简单 1.2.2 分布式架构 1.2.3 自治系统,管理简单 1.2.4 高效的列式存储引擎 1.2.5 标准SQL 1.2.6 MPP(Massively Parallel Processing)执行框架 1.2.7 流批导入 1.2.8 智能物化视图 1.2.9 高可用 1.2.10 数据分区 1.2.11 Index加速查询 1.2.12 近似去重、精确去重功能 1.3 Do
2021-04-12 15:59:17
14463
3

原创 Apache Flink 零基础入门(五):客户端操作
1. 环境说明在前面几期的课程里面讲过了 Flink 开发环境的搭建和应用的部署以及运行,今天的课程主要是讲 Flink 的客户端操作。本次讲解以实际操作为主。这次课程是基于社区的 Flink 1.7.2 版本,操作系统是 Mac 系统,浏览器是 Google Chrome 浏览器。有关开发环境的准备和集群的部署,请参考「开发环境搭建和应用的配置、部署及运行」的内容。2. 课程概要如下图所示,Flink 提供了丰富的客户端操作来提交任务和与任务进行交互,包括 Flink 命令行,Scala Sh
2021-03-08 16:32:33
1038

原创 Apache Flink 零基础入门(四):DataStream API 编程
前面已经为大家介绍了 Flink 的基本概念以及安装部署的过程,从而希望能够帮助读者建立起对 Flink 的初步印象。本次课程开始,我们将进入第二部分,即 Flink 实际开发的相关内容。本次课程将首先介绍 Flink 开发中比较核心的 DataStream API 。我们首先将回顾分布式流处理的一些基本概念,这些概念对于理解实际的 DataStream API 有非常大的作用。然后,我们将详细介绍 DataStream API 的设计,最后我们将通过一个例子来演示 DataStream API 的使用。
2021-03-08 16:24:29
354

原创 Apache Flink 零基础入门(三):开发环境搭建和应用的配置、部署及运行
本文主要面向于初次接触 Apache Flink(以下简称Flink)、或者对 Flink 有了解但是没有实际操作过的同学。希望帮助大家更顺利地上手使用 Flink,并着手相关开发调试工作。课程内容包括:Flink 开发环境的部署和配置 运行 Flink 应用(包括:单机 Standalone 模式、多机 Standalone 模式和 Yarn 集群模式)一、Flink 开发环境部署和配置Flink 是一个以 Java 及 Scala 作为开发语言的开源大数据项目,代码开源在 GitHub
2021-03-08 16:22:37
582

原创 Apache Flink 零基础入门(一&二):基础概念解析
一、Apache Flink 的定义、架构及原理Apache Flink 是一个分布式大数据处理引擎,可对有限数据流和无限数据流进行有状态或无状态的计算,能够部署在各种集群环境,对各种规模大小的数据进行快速计算。1. Flink Application了解Flink 应用开发需要先理解Flink 的Streams、State、Time 等基础处理语义以及Flink 兼顾灵活性和方便性的多层次API。Streams:流,分为有限数据流与无限数据流,unbounded stream 是有始无终的
2021-03-08 16:20:02
434

原创 最新前端技术解读
时光荏苒,非比寻常的一年即将过去。在这过去的一年中,与其说前端的平稳期即将到来,不如说前端反而进入了技术深水区。换言之,在全栈和多端的影响下,前端领域里“术业有专攻”的时代已经到来。如今的前端早已不再拘泥于满足页面展示,而是开始延展到通过全栈来闭环产品。这表明前端已经有能力透过业务深入产业,继而影响商业结果。这种表象的改变背后是本质的转变,从更为宏观的角度来说,前端正在通过持续的技术革新和技术融合不断突破自身边界,进而重新定义自身价值。在这种大变革的时代背景下,腾讯 IMWeb 前端团队也正在与时俱.
2021-01-02 12:39:48
1200

原创 深度理解mysql索引
Mysql 作为互联网中非常热门的数据库,其底层的存储引擎和数据检索引擎的设计非常重要,尤其是 Mysql 数据的存储形式以及索引的设计,决定了 Mysql 整体的数据检索性能。我们知道,索引的作用是做数据的快速检索,而快速检索的实现的本质是数据结构。通过不同数据结构的选择,实现各种数据快速检索。在数据库中,高效的查找算法是非常重要的,因为数据库中存储了大量数据,一个高效的索引能节省巨大的时间。比如下面这个数据表,如果 Mysql 没有实现索引算法,那么查找 id=7 这个数据,那么只能采取暴力顺序遍历
2021-01-02 12:33:23
289

原创 年前跳槽还是年后跳槽
“2020年马上就要结束了,一年里无处安放的内心放的最多的是满满的求生欲!大家内心很是怀念当初没有新冠病毒的日子,因为每到周末大家放下手中的BUG尽情去干饭!NOW,最多的是手捧BUG干泡面!这一年你有没有抱怨?有没有迷茫?有没有实现不了的需求?有没有跳槽的冲动?”01—年前 OR 年后每到春节前两个月,都有一种“跳槽”的气息在蔓延,等老子(娘)拿完年终奖之后,就马上跳槽,不再看老板的这副鬼脸,要不是看在钱的面子上,才不会继续呆在这里呢。那么既然都有...
2020-12-31 20:14:12
1577
4

原创 大数据OLAP系统 (2) 开源组件篇
开源大数据OLAP组件,可以分为MOLAP和ROLAP两类。ROLAP中又可细分为MPP数据库和SQL引擎两类。对于SQL引擎又可以再细分为基于MPP架构的SQL引擎和基于通用计算框架的SQL引擎: MOLAP一般对数据存储有优化,并且进行部分预计算,因此查询性能最高。但通常对查询灵活性有限制。 MPP数据库是个完整的数据库,通常数据需要导入其中才能完成OLAP功能。MPP数据库在数据入库时对数据分布可以做优化,虽然入库效率有一定下降,但是对后期查询性能的提高有很大帮助。MPP数据库可以
2020-12-22 13:19:43
1719
1

原创 大数据OLAP系统(1)概念篇
1.1 什么是OLAP?OLAP(OnLine Analytical Processing),即联机分析处理。OLAP对业务数据执行多维分析,并提供复杂计算,趋势分析和复杂数据建模的能力。它主要用于支持企业决策管理分析,是许多商务智能(BI)应用程序背后的技术。OLAP使最终用户可以对多个维度的数据进行即席分析,从而获取他们所需知识,以便更好地制定决策。OLAP技术已被定义为实现“快速访问共享的多维信息”的能力。1.2 为什么要多维分析?业务其实是一个多维活动。企业通过考虑许多变量来跟踪其业务活
2020-12-22 13:14:12
1870
1

原创 详解快速排序算法
基本思想本文的思路是以从小到大为例讲的。快速排序的基本思想是任取待排序序列的一个元素作为中心元素(可以用第一个,最后一个,也可以是中间任何一个),习惯将其称为pivot,枢轴元素;将所有比枢轴元素小的放在其左边;将所有比它大的放在其右边;形成左右两个子表;然后对左右两个子表再按照前面的算法进行排序,直到每个子表的元素只剩下一个。可见快速排序用到了分而治之的思想。将一个数组分成两个数组的方法为:先从数组右边找到一个比枢轴元素小的元素,将数组的第一个位置赋值为该元素;再从数组的左边找到一
2020-12-22 12:34:28
274

原创 clickhouse分布式表实践和原理
分布式表 一个逻辑上的表, 可以理解为数据库中的视图, 一般查询都查询分布式表. 分布式表引擎会将我们的查询请求路由本地表进行查询, 然后进行汇总最终返回给用户. 本地表: 实际存储数据的表 1 多切片单副本分布式表conf.xml中的开启远程连接 配置/etc/metrika.xml文件 <!-- Listen specified host. use :: (wildcard IPv6 address), if you want to accept ...
2020-12-20 21:45:41
3304
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人