自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

转载 spark join

转:https://www.wangt.cc/2021/02/%e5%a4%a7%e6%95%b0%e6%8d%ae%e5%bc%80%e5%8f%91-spark-join%e5%8e%9f%e7%90%86%e8%af%a6%e8%a7%a3-2/数据分析中将两个数据集进行 Join 操作是很常见的场景。在 Spark 的物理计划阶段,Spark 的 Join Selection 类会根据 Join hints 策略、Join 表的大小、 Join 是等值 Join 还是不等值以及..

2021-04-23 15:51:22 225

原创 spark 基础(rdd,spark计算 分片 等。。)

RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变、可分区、里面的元素可并行计算的集合。RDD具有数据流模型的特点:自动容错、位置感知性调度和可伸缩性。RDD允许用户在执行多个查询时显式地将工作集缓存在内存中,后续的查询能够重用工作集,这极大地提升了查询速度。通俗点来讲,可以将 RDD 理解为一个分布式对象集合,本质上是一个只读的分区记录集合。每个 RDD 可以分成多个分区,每个分区就是一个数据集片段。一个 RDD

2021-04-05 18:57:01 282

原创 spark sql 算子

left semi join左表为准,在右表中查找匹配的数据,如果查找成功则仅返回左边的记录,否则返回nullleft anti joinleft anti join与left semi join相反,是以左表为准,在右表中查找匹配的记录,如果查找成功,则返回null,否则仅返回左边的记录,其基本实现流程如下图所示。pivot列转行userid subject score1 a 32 b 43 c 51 a 6dataSet.groupB

2020-11-21 23:41:08 485

原创 通过使用lettuce连接器的报错了解到URI的特殊字符转换

lettuce连接redis使用的是uri作为参数传递的形式 连接时一直有如下错误Exception in thread "main" java.net.URISyntaxException: Malformed escape pair at index 21: redis://dsa dafdasfaa&%@127.0.0.1:6379/0?timeout=10s密码已经被替换 查了很多资料 最后知道原因是一旦地址中涉及了一些特殊字符 则不能直接用string 转换成uri 网上给的思路是

2020-10-26 16:26:39 1112 1

原创 flink学习 (2) 架构

flink 运行时的组件任务管理器TaskManagerflink的工作进程。通常在Flink中会有多个TaskManager运行,每一个TaskManager都包含了一定数量的插槽(slots)。插槽的数量限制了TaskManager能够执行的任务数量。启动之后,TaskManager会向资源管理器注册它的插槽;收到资源管理器指令后,TaskManager就会将一个或多个插槽提供给JobManager调用。JonbManager就可以向插槽分配任务来执行。在执行过程中,一个TaskMana

2020-09-23 10:54:30 231

原创 flink学习(3) 流处理API

EnvironmentgetExecutionEnvironment创建一个执行环境,表示当前执行程序的上下文批处理使用ExecutionEnvironment调用 流处理使用StreamExecutionEnvironment调用执行环境的 变量 可以通过 setParalleism设置全局并行度 如果不设置 会以flink-conf。yaml中的配置为准 默认为1Source一般先定义输入数据的样例类case class inputDemo(id:String ,time..

2020-09-23 10:54:21 220

原创 flink学习(4) 数据类型 udf 和 各种sink

flink支持的数据类型java scala 所有基础数据类型java scala元组类型scala 样例类java的简单对象其他常见复杂数据类型 Arrays Lists Maps Enums 等UDF函数函数类Flink 暴露了所有udf函数的接口(实现方式为接口或者抽象类)。例如MapFunction,FilterFunction,ProcessFunction等等当然也可以用匿名函数的方式用富函数(RichFunction)是DataStream API.

2020-09-23 10:54:13 454

原创 flink(5) window

窗口(window)可以把无限的数据流进行切分,得到有限的数据集进行处理 得到有界流窗口(window)就是将无限流切割为有限流的一种方式,它会将流数据分发到有限大小的桶bucket中进行分析时间窗口(Time Window)滚动时间窗口滑动时间窗口会话窗口计数窗口(Count Window)滚动次数窗口滑动次数窗口滚动时间窗口(tumbling Windows) 把时间换成次数 就是滚动次数窗口 概念一样y将数据依据固定的窗口长度对数据进行切分...

2020-09-23 10:54:05 155

原创 flink学习(1) 简介

flink 是什么Apache Flink is a framework and distributed processing engine for statuful co mputations over unbounded and bounded data streams.Apache Flink是一个框架和分布式处理引擎,用于对无界和有界数据流进行状态计算flink优点流数据更真实反应生活方式。传统数据架构是基于有限数据集的 低延迟 高吞吐 结果的准确性和良好的容错性传统数据处理架构

2020-09-23 10:53:56 115

原创 flink(8) 状态 checkpoint 状态一致性

flink中的状态由一个任务维护,并且用来计算某个结果的所有数据,都属于这个任务的状态可以认为状态就是一个本地变量,可以背任务的业务逻辑访问flink会进行状态管理,包括状态一致性,故障处理以及高效存储和访问,以便开发人员可以专注于应用程序的逻辑算子状态(OperatiorState)键控状态(Keyed State)状态后端(State Backends)...

2020-09-23 10:53:46 465 1

原创 flink(9) Table API 和Flink SQL

什么时Table API 和Flink SQLFlink对批处理和流处理,提供了统一的上层APIFlink本身时批流同一的处理框架,所以Table API和SQL就是批流统一的上层处理APITableApI是一套内嵌在java和scala语言中的查询API,它允许以非常直观的方式组合来自一些关系运算符的查询Flink的SQL支持基于实现了SQL标准的Apache Calcite两种planner(old&blink)的区别1.批流统一:Blink将批处理作业,视为流失处理的特

2020-09-23 10:53:35 209

原创 flink(10) flink sql 窗口函数 及其他常见函数

窗口

2020-09-23 10:53:23 4530

原创 hive 全量表、增量表、快照表、切片表和拉链表

拉链表:记录每条信息的生命周期,当一条记录的生命周期结束,就会重新开始一条新的记录,并把当前日期放入生效开始日期。如果当前信息至今有效,则在生效结束日期中填入一个极大值(入9999-99-99) ,一般在数仓中通过增加start_date,end_date两列来表示。拉链表适合于数据会发生变化,但是大部分是不变的。使用拉链表的方式:通过生效开始日期<= 某个日期且生效结束日期>=某个日期,能够得到某个时间点的数据全量切片。拉链表的形成过程,比如下图如何制作拉链表?1)新建和

2020-09-23 10:53:12 4446

原创 flink(7) ProcessFunction API

ProcessFunction API (底层API)普通的转换算子只能获取到当前的数据,或者加上聚合状态 如果RichFunction可以有生命周期方法,还可以获取运行时上下文,进行状态编程,但是都无法访问事件时间的时间戳信息和水位线相关的信息。于是 dataStream API 提供了一系列的Low-Level转换算子。可以访问时间戳、watermark以及注册定时事件。还可以输出特定的一些事件,如超时事件。 Process Function 用来构建事件驱动的应用以及实现自定义业务逻辑 如:.

2020-09-23 10:53:01 105

原创 flink(6) 时间语义和 水位线watermark

时间(Time)语义Event Time :事件创建的时间lngestion Time :数据进入Flink的时间Processing Time : 执行操作算子的本地系统时间,与机器相关设置时间语义首先设置全局时间语义env.setStreamTimeCharacteristic(TimeCharacteristic.EventTime)其次指定当前数据里的时间戳是哪个字段.assignAscendingTimestamps() 括号里要求的字段是毫秒级别时间戳

2020-09-23 10:52:44 343

原创 flink(11) 复杂事件处理-flink cep

复杂事件处理(Complex Event Processing,CEP)Flink CEP是在Flink中实现的复杂事件处理(CEP)库CEP允许在无休止的事件流中检测事件模式,让我们有机会掌握数据中重要的部分一个或多个简单事件构成的事件流通过一定的规则匹配,然后输出用户想得到的数据--满足规则的复杂事件CEP的特点目标:从有序的简单事件流中发现一些高阶特征输入:一个或者多个由简单事件构成的事件流处理:识别简单事件之间的内在联系,多个符合一定规则的简单事件构成复杂事件输.

2020-09-23 10:52:36 311

转载 Flink 的 StreamingFileSink

转载自https://blog.csdn.net/u013516966/article/details/104726234/转载目的 只是为了 记录 防丢失 和 后续有补充 直接扩充Flink目前对于外部Exactly-Once写支持提供了两种的sink,一个是Kafka-Sink,另一个是Hdfs-Sink,这两种sink实现的Exactly-Once都是基于Flink checkpoint提供的hook来实现的两阶段提交模式来保证的,主要应用在实时数仓、topic拆分、基于小时分析处理等场...

2020-09-15 14:58:37 684

原创 Flink之AsyncDataStream

在flink使用过程中,虽然flink有state(状态)可以用来存储很多的缓存数据,但是不可避免的要与其他如redis,hbase 发生交互,除了这些数据库外 更常见的是可能业务需要去调个api填充信息,默认情况下,在MapFunction中,单个并行只能用同步方式去交互: 将请求发送到外部存储,IO阻塞,等待请求返回,然后继续发送下一个请求。这种同步交互的方式往往在网络等待上就耗费了大量时间 。Flink 在1.2中引入了Async I/O,在异步模式下,将IO操作异步化,单个并行可以连续发送多个请

2020-09-14 16:28:46 5223 1

转载 flink-hive分区提交机制

转载https://blog.csdn.net/nazeniwaresakini/article/details/107811860之前笔者在介绍Flink 1.11 Hive Streaming新特性时提到过,Flink SQL的FileSystem Connector为了与Flink-Hive集成的大环境适配,做了很多改进,而其中最为明显的就是分区提交(partition commit)机制。本文先通过源码简单过一下分区提交机制的两个要素——即触发(trigger)和策略(policy)的实现,然后

2020-08-23 16:58:49 4033 1

转载 spark.streaming.kafka.maxRatePerPartition

面试问到这个参数 真没用过。。。从网上找了下https://blog.csdn.net/onway_goahead/article/details/95041760spark.streaming.kafka.maxRatePerPartition这个参数是控制吞吐量的,一般和spark.streaming.backpressure.enabled=true一起使用。那么应该怎么算这个值呢。如例要10分钟的吞吐量控制在5000,0000,kafka分区是10个。spark.stre..

2020-06-22 11:49:12 1616

原创 kafka 保证exactly once语义的方式 幂等+事务

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入kafka 保证exactly once语义的方式 事务欢迎使用Markdown编辑器你好! 这是你第一次使用 Mark

2020-05-19 17:53:47 554

原创 flink对接kafka 1.7.0版本flink

网上关于1.7.0的flink的对接代码几乎没有 甚至1.5x以后的几户没有 这里建议能看懂官网的还是看官网 这里也只是因为个人图方便 从官网搞下来的首先 上依赖<dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-scala_2.12&l...

2020-04-01 16:04:07 583

原创 本地docker安装zookeeper,kafka,flink

首先 安装zookeeper 这里zookeeper的安装是为了去使用kafka这里我们安装的是wurstmeister 的kafka 和zookeeper镜像 也是在hub.docker.com网站上,Star最多的kafka镜像直接在cmd执行run命令(前提是有本地docker。。。)第一次使用 因为本地没有此镜像会去下载docker run -d --name zooke...

2020-03-31 11:58:18 613

转载 【转载】flink 保证端到端的exactly once语义

这篇文章翻译自flink官网博客(An Overview of End-to-End Exactly-Once Processing in Apache Flink (with Apache Kafka, too!)). 翻译加上了点自己的理解,也省略了一些原文的表述,若有错误和并准确的地方请指出,还是推荐看一下原汁原味英文版哈。正文开始:2017年12月,apache flink 1.4...

2020-03-27 17:17:24 226

原创 flink 复杂事件处理 flink cep

1.获取基础配置变量(类似spark的spark conf)离线处理使用ExecutionEnvironment。实时处理使用StreamExecutionEnvironment注意 导包的时候 有java的也有scala的 不要导错import org.apache.flink.api.java.ExecutionEnvironmentimport org.apache.flink.a...

2020-03-26 18:49:57 375

原创 消费kafka数据连接kafka失败问题

消费kafka数据 日志为info级别时 卡在下图 处不动调整日志数据级别为debug 发现是连接kafka失败 kafka ip地址确认写的是正确的情况下 发现日志显示 error connection to node(kafka集群名)。问题是 并没有在代码中写过 kafka节点名字 只写过ip 。最后发现问题是java(spark)消费kafka时 消费者 会根据提供的...

2020-03-26 18:34:12 3453 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除