大数据
文章平均质量分 86
野狼e族
忙是一种好事
展开
-
Flink窗口无法触发问题排雷
Flink窗口无法触发排雷1.序篇-先说结论博主希望你在看完本文后一定要养成这个编程习惯:使用 DataStream API 实现 Flink 任务时,Watermark Assigner 能靠近 Source 节点就靠近 Source 节点,尽量前置。要想问为啥,接着往下看!!!我从以下几个章节说明上述的问题以及为什么这样建议,希望能抛砖引玉,带给大家一些启发。⭐ 踩坑场景篇-这个坑是啥样的⭐ 问题排查篇-坑的排查过程⭐ 问题原理解析篇-导致问题的机制是什么⭐ 避坑篇-如何避免这种问题⭐原创 2022-02-18 14:34:49 · 4181 阅读 · 2 评论 -
Flink与外部存储交互优化方案
在Flink流式程序设计中,经常需要与外部系统进行交互,很多时候外部系统的性能会成为任务整体吞吐的瓶颈,通常的解决方案会通过提高任务并发度增加对外部系统并发访问,如此会带来Flink额外的资源管理负载以及整体cpu利用率不高的问题。对于Flink与外部存储交互的场景,可以通过Flink 异步IO和单并发度多线程的机制提高任务吞吐能力,而不需要提高任务并发度从而提升整体资源利用率。一 Flink异步IO 对于Flink程序,通常的交互实现为同步请求,即发送一个请求,直到收到响应,继续处理,很多情况下原创 2022-02-06 22:01:22 · 1161 阅读 · 2 评论 -
HDFS Federation机制
HDFS Federation机制一 为什么引入联盟框架 ?1.1 hdfs的局限性Namespace(命名空间)的限制由于Namenode在内存中存储所有的元数据(metadata),因此单个Namenode所能存储的对象(文件+块)数目受到Namenode所在JVM的heap size的限制。50G的heap能够存储20亿(200 million)个对象,这20亿个对象支持4000个datanode,12PB的存储(假设文件平均大小为40MB)。随着数据的飞速增长,存储的需求也随之增长。单个d原创 2022-02-06 17:14:28 · 948 阅读 · 0 评论 -
Flink CDC 和 kafka 进行多源合并和下游同步方案
一、前言本文主要是针对 Flink SQL 使用 Flink CDC 无法实现多库多表的多源合并问题,以及多源合并后如何对下游 Kafka 同步更新的问题,因为目前 Flink SQL 也只能进行单表 Flink CDC 的作业操作,这会导致数据库 CDC 的连接数过多。但是 Flink CDC 的 DataStream API 是可以进行多库多表的同步操作的,本文希望利用 Flink CDC 的 DataStream API 进行多源合并后导入一个总线 Kafka,下游只需连接总线 kafka 就可以原创 2022-01-31 22:37:05 · 9430 阅读 · 4 评论 -
Flink Sql Gateway源码分析
Flink Sql Gateway是Flink集群的“任务网关”,支持以rest api的形式提交查询、插入、删除等任务。官网推荐与Flink jdbc driver搭配使用,不过jdbc driver限制了很多功能,如果自己开发数据平台,最好还是直接使用sql gateway。想要透彻的使用sql gateway,需要了解一下问题:1 如何处理并发请求?多个提交怎么处理?2 如何维护多个sql之间的关联性?3 sql字符串如何提交到集群形成代码4 sql-gateway都支持哪些功能?原创 2022-01-31 22:04:02 · 1051 阅读 · 0 评论 -
RocksDB
目录RocksDB 简介TiKV 架构RocksDB 的内存占用RocksDB 的空间占用RocksDB 后台线程与 CompactWriteStallRocksDB 简介RocksDB是由 Facebook 基于 LevelDB 开发的一款提供键值存储与读写功能的 LSM-tree 架构引擎。用户写入的键值对会先写入磁盘上的 WAL (Write Ahead Log),然后再写入内存中的跳表(SkipList,这部分结构又被称作 MemTable)。LSM-tree 引擎.原创 2021-04-06 15:40:49 · 1069 阅读 · 0 评论 -
Impala/Presto/ES/kudu/Parquet TPC_DS基准测试
使用Impala/Presto/ES/kudu/Parquet基准测试目的本测试报告为调研OLAP性能测试报告,目的在于总结调研的几个存储查询方案的可用性。背景考虑到数据量的的增多以及用户并发操作给服务器造成压力,因此对kudu、parquet、presto、Es 等进行存储及查询的性能测试,在系统配置不变的情况下,观察各计算引擎的的操作耗时表现,便于对正确的进行技术选型与评估。环境准备本次测试方案的硬件环境使用三台物理机,系统为centos7,基础配置信息如下表:服务器.原创 2020-12-09 12:52:24 · 1852 阅读 · 0 评论 -
Nifi Processor | PutHiveQL
执行HiveQL DDL / DML命令(例如,UPDATE,INSERT)。传入的FlowFile的内容应该是要执行的HiveQL命令。HiveQL命令可能会使用?逃避参数。在这种情况下,要使用的参数必须作为具有命名约定hiveql.args.N.type和hiveql.args.N.value的FlowFile属性存在,其中N是正整数。hiveql.args.N.type应该是一个表示JDBC Type的数字。FlowFile的内容预计为UTF-8格式。用法:场景 :生成Hive Sql...原创 2020-06-13 21:17:56 · 802 阅读 · 0 评论 -
Nifi Processor | PutS3Object
需求: 从kafka读取数据,根据内容路由再压缩后,put 到s3 中。流程图。1、使用Kakfa 读取数据2、在RouteTxt 中,根据要求过滤掉不需要的数据3、在CompressContent 中进行数据压缩后,流入下一个环节。这里配置使数据压缩为gzip 文件。4、使用MergeContent ,将数据每 128M合并为一个块数据。(注意:虽然MergeContent提供压缩,但是压缩后的文件无法提供给Spak 使用,所以使用CompressContent ...原创 2020-06-13 21:16:03 · 385 阅读 · 1 评论 -
Nifi Processor | RouteText 与 RouteOnContent
RouteText 根据一组用户定义的规则路由文本数据。传入的FlowFile中的每一行都与用户定义的Properties指定的值进行比较。将文本与这些用户定义的属性进行比较的机制由“匹配策略”定义。然后根据这些规则路由数据,分别路由文本的每一行RouteOnContent,将正则表达式应用于FlowFile的内容,并将FlowFile的副本路由到其正则表达式匹配的每个目标。正则表达式作为用户定义的属性添加,其中属性的名称是关系的名称,值是正则表达式以匹配Fl...原创 2020-06-13 21:13:37 · 804 阅读 · 0 评论 -
Hive 拉链表
想总结一下拉链表 的使用,但今天太懒不想手写,看到一篇思路清晰非常不错的文章,转载一下,供大家阅读。。。背景拉链表是一种数据模型,主要是针对数据仓库设计中表存储数据的方式而定义的;顾名思义,所谓拉链表,就是记录历史。记录一个事务从开始一直到当前状态的所有变化的信息。拉链表可以避免按每一天存储所有记录造成的海量存储问题,同时也是处理缓慢变化数据(SCD2)的一种常见方式。应用场...转载 2020-04-23 11:16:13 · 459 阅读 · 0 评论 -
Zookeeper在Kafka中的应用
简介Kafka使用zookeeper作为其分布式协调框架,很好的将消息生产、消息存储、消息消费的过程结合在一起。同时借助zookeeper,kafka能够生产者、消费者和broker在内的所以组件在无状态的情况下,建立起生产者和消费者的订阅关系,并实现生产者与消费者的负载均衡。 从拓扑结构看kafka与zookeeper的关系:在典型的Kafka集群中, Kafka通过Zookee...原创 2018-07-31 21:59:12 · 810 阅读 · 0 评论 -
flume-ng编程之自定义拦截器
从拦截body开始自定义intercepter编程完成每个body字符串的解析字段的正则提取和拼接,我们自定义的这个类叫:LogAnalysis 如下:package com.besttone.interceptor; import com.google.common.base.Charsets;import com.google.common.collect.Lists...转载 2018-07-31 21:39:57 · 265 阅读 · 0 评论