摘要:
有状态的计算是流式计算框架的一个重要功能,很多复杂的计算场景都需要记录一下相关的状态。Flink State一种为了满足算子计算时需要历史数据需求的,使用 checkpoint 机制进行容错,存储在 state backend 的数据结构。 1.State分类 Flink State被分为keyed 阅读全文
摘要:
Flink的代码编写流程为env->source->transform->sink,基本所有的代码都是大致按照图1的流程进行代码编写,当然中间也会有一些封装之类的。 Flink代码写好后,它的任务调度执行图按照生成顺序分为:逻辑流图(StreamGraph)->作业图(JobGraph)->执行图( 阅读全文
摘要:
kafka作为商业级中间件,它在设计时优先考虑的可靠性、可用性,同时兼顾一致性,这是所有分布式都会遇到的cap理论,kafka也不例外;可靠性通过副本机制解决,可用性通过leader和follower机制来解决。 kafka的可靠性,根据ack的设置不同,可靠性不同,ack=-1可靠性最高,但效率会 阅读全文
摘要:
Kafka之所以有那么高的吞吐量,很大程度取决于它的存储机制,一个主题可以有多个partition,每个partition有一个leader和多个副本,读写主要通过leader,副本的主要功能还是为了保证数据的安全性和保证可靠性,当某个partition的leader出现异常后,剩余副本可以选举出新 阅读全文
摘要:
1.背景 最近在处理一个数据量级在1亿左右的数据,没办法mysql不好处理,只能把数据放到大数据集群进行处理,处理好后再把这亿级数据导入本地Mysql。 2.实践 (1)把需要处理的数据手动传到集群,上传的数据只有一万条左右,经过笛卡尔积以及各种运算后,结果数据条数有一亿左右,文件大小有5G左右。 阅读全文
摘要:
1.背景 最近公司看板要搞月切看板,没法只有把每个月的最后一份数据存储下来,由于看板使用的是存储引擎是mysql,所以并不想每次都推送所有月份数据到mysql,尤其是每个月数据量较大的时候,只好使用增量的方式进行数据推送。采用增量的方式一种是用delete删除最新月份数据,然后再推最新月份数据,但这 阅读全文
摘要:
1.背景 底层引擎采用的是Tez,为了快速定位自己的脚本是哪一段性能较差,首先需要在脚本里面设置脚本名称,命令如下: set tez.job.name=dws_contract_detail_info_s_d; 这是我的一个例子,设置好名称后,开始执行脚本,等脚本执行完成后就可以开始排查问题。 2. 阅读全文
摘要:
区块链是一种分布式的、不可篡改的记录数据的技术。它是由一系列数据块(Blocks)组成的链式结构,每个数据块包含了一定数量的交易信息和与之相关的元数据。每个数据块都通过密码学哈希函数与前一个数据块连接起来,形成了一个不断增长的链式结构。 下面用代码来理解一下区块链,首先创建一个块信息对象。块信息主要 阅读全文
摘要:
1.背景 最近在使用instr进行字符截取时出现了字符截断的情况,案例是需要获取出"红河哈尼族矫族自治州(xxxx(红河)有限公司)"里面的"xxxx(红河)有限公司"内容,结果获取到的内容是"xxxx(红河",该语句针对只有一对括号时没有问题,当出现这种有两个括号时就会出现截断的问题,原始语句如下 阅读全文
摘要:
Docker 是一种容器化平台,可以轻松地将应用程序及其依赖项打包为容器,以便在不同的环境中运行。 1.为什么使用容器 (1)更高效的利用系统资源 (2)一致的运行环境 (3)持续交付 (4)快速部署 (5)弹性扩容 2.容器特点 (1)容器和虚拟机的区别,通过下图可以很明显看出,虚拟机是模拟出一套 阅读全文