ZLin.Tang
码龄11年
关注
提问 私信
  • 博客:99,036
    社区:1
    99,037
    总访问量
  • 30
    原创
  • 1,693,144
    排名
  • 9
    粉丝
  • 0
    铁粉

个人简介:我们在借来的时间中生活,终其一生去寻找那个答案。

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 加入CSDN时间: 2013-10-06
博客简介:

ZLin的博客

博客描述:
http://write.blog.csdn.net/configure/column
查看详细资料
个人成就
  • 获得19次点赞
  • 内容获得4次评论
  • 获得84次收藏
  • 代码片获得344次分享
创作历程
  • 13篇
    2023年
  • 1篇
    2022年
  • 6篇
    2021年
  • 5篇
    2020年
  • 4篇
    2019年
  • 1篇
    2017年
成就勋章
TA的专栏
  • 大数据学习之路
    1篇
  • 其他
    1篇
  • MySQL
    1篇
  • Java
  • Flume
  • HBase
  • 数据结构与算法
    2篇
  • Hive
    4篇
  • Flink
    13篇
  • Docker/Rancher/K8S
  • Kylin
  • Airflow
  • Spark
  • Hadoop
    1篇
  • 机器学习
    4篇
兴趣领域 设置
  • 大数据
    hadoophivestormsparkflinketl
创作活动更多

超级创作者激励计划

万元现金补贴,高额收益分成,专属VIP内容创作者流量扶持,等你加入!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

《Flink学习笔记》——第十二章 Flink CEP

这个接口需要实现一个 processTimedOutMatch()方法,可以将超时的、已检测到的部分匹配事件放在一个 Map 中,作为方法的第一个参数;它们构成了一个新的“复杂事件流”,流中的数据就变成了一组一组的复杂事件,每个数据都包含了一个圆形和一个三角形。具体的处理过程是,把事件流中的一个个简单事件,通过一定的规则匹配组合起来,这就是“复杂事件”;在循环模式中,对同样特征的事件可以匹配多次。比如我们定义个体模式为“匹配形状为三角形的事件”,再让它循环多次,就变成了“匹配连续多个三角形的事件”。
原创
发布博客 2023.08.31 ·
1094 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

《Flink学习笔记》——第十一章 Flink Table API和 Flink SQL

Table API和SQL是最上层的API,在Flink中这两种API被集成在一起,SQL执行的对象也是Flink中的表(Table),所以我们一般会认为它们是一体的。Flink是批流统一的处理框架,无论是批处理(DataSet API)还是流处理(DataStream API),在上层应用中都可以直接使用Table API或者SQL来实现;这两种API对于一张表执行相同的查询操作,得到的结果是完全一样的。需要说明的是,Table API和SQL最初并不完善,在Flink 1.9版本合并阿里巴巴内部版
原创
发布博客 2023.08.31 ·
1239 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏

《Flink学习笔记》——第十章 容错机制

既然是端到端的exactly-once,我们依然可以从三个组件的角度来进行分析:(1)Flink内部Flink内部可以通过检查点机制保证状态和处理结果的exactly-once语义。(2)输入端输入数据源端的Kafka可以对数据进行持久化保存,并可以重置偏移量(offset)。所以我们可以在Source任务(FlinkKafkaConsumer)中将当前读取的偏移量保存为算子状态,写入到检查点中;
原创
发布博客 2023.08.30 ·
1036 阅读 ·
1 点赞 ·
0 评论 ·
4 收藏

《Flink学习笔记》——第九章 多流转换

无论是基本的简单转换和聚合,还是基于窗口的计算,我们都是针对一条流上的数据进行处理的。而在实际应用中,可能需要将不同来源的数据连接合并在一起处理,也有可能需要将一条流拆分开,所以经常会有对多条流进行处理的场景。
原创
发布博客 2023.08.28 ·
1564 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

《Flink学习笔记》——第八章 状态管理

在Flink中,算子任务可以分为无状态和有状态两种情况。**无状态的算子:**每个事件不依赖其它数据,自己处理完就输出,也不需要依赖中间结果。例如:打印操作,每个数据只需要它本身就可以完成。**有状态的算子:**事件需要依赖中间或者外其它数据才能完成计算。比如计算累加和,我们需要记录当前的和是多少,等下一个数据来的时候我们直接将当前和加上该数更新当前累加和。所以我们需要保存当前和。而这里的中间结果和其它数据就是“状态”。
原创
发布博客 2023.08.28 ·
1208 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

《Flink学习笔记》——第七章 处理函数

为了让代码有更强大的表现力和易用性,Flink 本身提供了多层 API在更底层,我们可以不定义任何具体的算子(比如 map,filter,或者 window),而只是提炼出一个统一的“处理”(process)操作——它是所有转换算子的一个概括性的表达,可以自定义处理逻辑,所以这一层接口就被叫作“处理函数”(process function)。是整个DataStream API的基础。
原创
发布博客 2023.08.28 ·
1214 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

《Flink学习笔记》——第六章 Flink的时间和窗口

只通过事件时间来判断是否一个窗口的数据已经到齐是不行的。我们可以基于事件时间去自定义一个时钟,用来表示当前时间的进展。例如:我们定义一个时钟,这个时钟的时间逻辑是比事件时间晚5分钟。当一个数据过来,它的事件时间是9:00:00,这时窗口会认为是8:55:00。这时,窗口认为还没有到9点,所以8——9点的窗口统计还不到时间。会再等等,等收到大于或等于9:05:00的数据时才会进行统计。这样如果有事件时间为8:58:00的数据在9:04:00才到来时,也能够被统计到8——9点的窗口中。
原创
发布博客 2023.08.28 ·
1334 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

《Flink学习笔记》——第五章 DataStream API

如果遇到特殊情况, 我们想要读取的数据源来自某个外部系统,而 flink 既没有预实现的方法、也没有提供连接器, 又该怎么办呢?那就只好自定义实现 SourceFunction 了。接下来我们创建一个自定义的数据源,实现 SourceFunction 接口。主要重写两个关键方法:run()和 cancel()。run()方法:使用运行时上下文对象(SourceContext)向下游发送数据;cancel()方法:通过标识位控制退出循环,来达到中断数据源的效果。自定义一个数据源ClickSource。
原创
发布博客 2023.08.26 ·
614 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

《Flink学习笔记》——第四章 Flink运行时架构

flink
原创
发布博客 2023.08.26 ·
522 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

《Flink学习笔记》——第三章 Flink的部署模式

flink
原创
发布博客 2023.08.26 ·
1483 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

《Flink学习笔记》——第二章 Flink的安装和启动、以及应用开发和提交

Flink
原创
发布博客 2023.08.26 ·
2479 阅读 ·
0 点赞 ·
0 评论 ·
8 收藏

《Flink学习笔记》——第一章 概念及背景

​ 什么是批处理和流处理,然后由传统数据处理架构为背景引出什么是有状态的流处理,为什么需要流处理,而什么又是有状态的流处理。进而再讲解流处理的发展和演变。而Flink作为新一代的流处理器,它有什么优势?它的相关背景及概念和特性又是什么?有哪些应用场景?
原创
发布博客 2023.08.26 ·
860 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

Flink CDC学习笔记

​ CDC (Change Data Capture 变更数据获取)的简称。核心思想就是,检测并获取数据库的变动(增删查改),将这些变更按发生的顺序记录下来,写入到消息中间件以供其它服务进行订阅及消费。自定义序列化器 CustomDeserializationSchemaimport com/**// before数据 result . put("before" , getData("before" , value));
原创
发布博客 2023.08.26 ·
1444 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

Typora使用

Typora自定义主题、常用编辑技巧、图床的使用、发布博客。
原创
发布博客 2022.06.05 ·
1069 阅读 ·
2 点赞 ·
1 评论 ·
5 收藏

CDH通过parcels安装组件,激活时卡住,取消激活

取消激活命令:curl -u admin:admin -X POST http://xxxx.xxx.xx.xx:7180/api/v19/clusters/cluster/parcels/products/APACHE_PHOENIX/versions/4.14.0-cdh5.14.2.p0.3/commands/deactivateadmin:admin——CDH用户名和密码http://xxxx.xxx.xx.xx:7180——CDH UI地址APACHE_PHOENIX——正在...
原创
发布博客 2021.12.27 ·
2483 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

通过sqoop将mysql表导入到hive表(Python实现)

# -*- coding: utf-8 -*-from datetime import datetimeimport paramikoimport reclass ShellHandler: def __init__(self, host, user, psw): self.ssh = paramiko.SSHClient() self.ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()).
原创
发布博客 2021.12.25 ·
1718 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Hive常用命令

1.修改字段类型alter table 表名 change column 字段名 字段名 目标的字段类型#例子:将表test中的字段a的类型转换为bigintalter table test change column a a bigint2.删除库及库中所有表(数据也会删除)DROP DATABASE IF EXISTS 数据库名 CASCADE;3.创建数据库# 语法CREATE (DATABASE|SCHEMA) [IF NOT EXISTS] database_n
原创
发布博客 2021.12.25 ·
1130 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

datax从mysql导入表数据到hive表,字段值为NULL,问题分析

从mysql导入表数据到hive表,字段值为NULL,有可能由以下原因造成:1.建表分隔符和导入时的分隔符不一致# 修改分隔符命令alter table att_new set serdeproperties('serialization.format'='\t');#或者修改导入命令中的分隔符2.字段的数据类型不一致# 修改字段数据类型命令alter table 表名 change column 字段名 字段名 目标的字段类型#例子:将表test中的字段a的类型转换为b
原创
发布博客 2021.12.23 ·
3471 阅读 ·
1 点赞 ·
0 评论 ·
5 收藏

DataGrip连接hive

报错: org.apache.hive.org.apache.thrift.TApplicationException: Required field 'client_protocol' is unset! Struct:TOpenSessionReq(client_protocol:null, configuration:{set:hiveconf:hive.server2.thrift.resultset.default.fetch.size=1000, use:database=default}).
原创
发布博客 2021.12.22 ·
3901 阅读 ·
0 点赞 ·
2 评论 ·
13 收藏

MySQL学习笔记

MySQL学习笔记目录一、数据库的相关概念二、初识MySQLMySQL产品的介绍 MySQL产品的安装 ★MySQL服务的启动和停止 ★MySQL服务的登录和退出 ★MySQL的常见命令和语法规范五、DQL语言的学习 ★基础查询 ★条件查询 ★ 排序查询 ★ 常见函数 ★分组函数 ★分组查询 ★ 连接查询 ★ 子查询 √分页查询
原创
发布博客 2021.06.16 ·
717 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多