- 博客(143)
- 收藏
- 关注
原创 配置数据写入es的时间
这样,在数据写es时候,就会生成字段date,数据写入时间。3、在索引的setting里设置默认pipeline。2、检查pipeline是否设置成功。
2024-02-21 16:45:57 461
原创 flink写入es的参数解析
在发送批量动作前,BulkProcessor先缓存,再刷新。缓存刷新的间隔,支持基于Action数量、基于Action大小、基于时间间隔3种策略。不论Action个数或Action大小如何设置,到刷新间隔了,就会刷新缓冲,发起Bulk请求。延迟重试策略: 默认启用指数级间隔重试策略,初始等待50ms,8次重试。如需自定义延迟重试策略,可通过以下参数配置。: 延迟重试类型,CONSTANT(固定间隔)或EXPONENTIAL(指数级间隔)。每个Bulk请求,最大缓冲的Action大小。: 延迟重试是否启用。
2024-02-04 16:41:30 829
原创 Flink中的时间语义和TTL
事件时间是数据生成的时间,是数据流中每个元素或者每个事件自带的时间属性,一般是事件发生的时间,在实际项目中作为前端的一个属性嵌入。在理想情况下,数据应当按照事件时间顺序到达集群节点,但是由于从产生一条数据到数据抵达集群有过多的中间步骤,一个较早发生的事件可能较晚到达,使用事件时间意味着会产生数据乱序。
2024-01-30 09:33:12 1134
原创 Kafka配置类参数设置
Kafka的客户端发送数据到服务器,不是来一条就发一条,而是经过缓冲的,也就是说,通过KafkaProducer发送出去的消息都是先进入到客户端本地的内存缓冲里,然后把很多消息收集成一个一个的Batch,再发送到Broker上去的,这样性能才可能高。理论上来说,提升batch.size的大小,可以允许更多的数据缓冲在里面,那么一次Request发送出去的数据量就更多了,这样吞吐量可能会有所提升。但是batch.size也不能过大,要是数据老是缓冲在Batch里迟迟不发送出去,那么发送消息的延迟就会很高。
2023-05-11 15:27:34 784 1
原创 HIVE SQL 进行 Join 和 group by的具体原理及分区方式
在map的输出value中为不同表的数据打上tag标记,在reduce阶段根据tag判断数据来源。
2023-04-20 16:20:52 543
原创 离线数仓的数仓分层
ods层:保留数据的原始性ODS层保存所有操作数据,不对原始数据做任何处理。在业务系统和数据仓库之间形成一个隔离,源系统数据结构的变化不影响其他数据分层。减轻业务系统被反复抽取的压力,由ODS统一进行抽取和分发。fds层:对数据进行解析过滤映射等操作。
2023-04-19 17:56:27 560
原创 Hive中posexplode函数的使用及实现多行炸裂
简单介绍下posexplode函数的使用及如何使用posexplode函数进行多行炸裂效果
2023-04-13 16:40:59 734
原创 github中的代码提交
3、日志信息里面的 SSH KEY 存储路径找到 .ssh/id_rsa.pub 文件。4、复制 .ssh/id_rsa.pub 文件内容,复制到 key 里 添加。5、将本地Git仓库和远程仓库关联起来,并设置远程仓库名称:origin。1、点击 git bash here,配置name和eamil。6、每次在推代码的时候,一定要合并最新的版本,防止版本冲突。7、如果要上传到新的分支,需要创建分支 如 develop。2、将当前项目中的所有文件添加到。2、生成 SSH KEY。4、将当前状态提交到。
2023-01-05 17:10:58 443
原创 ElasticSearch全文检索原理及过程
比如用户输入"地图",通过倒排索引,可以快速的找到含有"地图"的文档是id为1, 2, 3, 4, 5,的文档。从而达到快速的全文检索的目的。,文档内容被表示为一系列关键词的集合。例如文档 1 经过分词,提取了 20 个关键词,ElasticSearch的搜索引擎中,每个。,每个关键词都对应着一系列的文件,这些文件中都出现了关键词。:在value中提取出各个关键词的过程。对文档进行分词之后,得到以下。有了倒排索引,搜索引擎可以很。
2022-12-21 14:27:12 2392
原创 Kerberos的概述和认证原理
用来在非安全网络中,对个人通信以安全的手段进行身份认证。这个词又指麻省理工学院为这个协议开发的一套计算机软件。软件设计上采用客户端/服务器结构,并且能够进行相互认证,即客户端和服务器端均可对对方进行身份认证。可以用于防止窃听、防止重放攻击、保护数据完整性等场合,是一种。
2022-12-16 16:25:29 1833
原创 ElasticSearch的数据存储及写入原理
数据先写入内存 buffer,然后每隔 1s,将数据 refresh 到 os cache,到了 os cache 数据就能被搜索到(所以我们说es 是准实时的, es 从写入到能被搜索到,中间有 1s 的延迟)。每隔 5s,将数据写入 translog 文件(这样如果机器宕机,内存数据全没,最多会有 5s 的数据丢失),translog 大到一定程度,或者默认每隔 30mins,会触发 commit 操作,将缓冲区的数据都 flush 到 segment file 磁盘文件中。
2022-12-14 16:07:57 2853
原创 ElasticSearch的读写更新数据流程
此时会定期执行 merge。每次 merge 的时候,会将多个 segment file 合并成一个同时这里会将标识为 deleted 的 doc 给物理删除掉,然后将新的 segment file 写入磁盘这里会写一个 commit point,标识所有新的 segment file,然后打开 segment file 供搜索使用,同时删除旧的 segment file。如果是更新操作,就是将原来的 doc 标识为 deleted 状态,然后新写入一条数据。新建索引和删除请求都是写操作, 必须在。
2022-12-13 15:59:20 2052
原创 HBase的Region Split详解
region split是hbases随着数据的不断写入,将一个region切分为两个小region,并将切分后的,以达到将到其他节点。
2022-12-09 15:45:19 961
原创 HBase中的Compaction详解
由于memstore每次刷写都会生成一个新的HFile,且同一个字段的不同版本(timestamp)和不同类型(Put/Delete)有可能会分布在不同的 HFile 中,因此查询时需要遍历所有的 HFile。为了,以及,会进行 StoreFile Compaction。
2022-12-09 15:17:47 1197
原创 Elasticsearch的简单概述
Elaticsearch,简称为 ES, ES 是一个, 是整个 ElasticStack 技术栈的核心。它可以;本身扩展性很好,可以扩展到上百台服务器,处理 PB 级别的数据。,可以理解为我搜索网络,会将含有网和含有络的数据都就行返回。
2022-12-08 17:37:25 585
原创 HBase的数据模型和存储原理
类似于关系型数据库的 DatabBase 概念,每个命名空间下有多个表。HBase有两个自带的命名空间,分别是 hbase 和 default,hbase 中存放的是 HBase 内置的表,default 表是用户默认使用的命名空间。类似于一个表的子表,表中的一部分。HBase中的一个表被拆分成多个region。HBase 定义表时只需要声明列族即不需要声明具体的列。这意味着,往 HBase 写入数据时,字段可以动态、按需指定。因此,和关系型数据库相比,HBase 能够轻松应对字段变更的场景。Rowkey的
2022-12-08 17:03:42 2275
原创 HBase的基础介绍
HBase 是 BigTable 的开源(源码使用 Java 编写)版本。是 Apache Hadoop 的数据库,是建立在 HDFS 之上,被设计用来提供高可靠性、高性能、列存储、可伸缩、多版本的 NoSQL 的分布式数据存储系统,实现对大型数据的实时、随机的读写访问。hbase与hive都是架构在hadoop之上的,都是用HDFS作为底层存储。批量读取吞吐量远不如 HDFS,不适用于批量数据分析的场景。
2022-12-03 22:18:00 907
原创 Flink中的UDF的实现
Flink 的 Table API 和 SQL 提供了多种自定义函数的接口,以抽象类的形式定义。当前 UDF主要有以下几类: 自定义标量函数可以把 0 个、 1 个或多个标量值转换成一个标量值,它对应的输入是一行数据中的字段,输出则是唯一的值。所以从输入和输出表中行数据的对应关系看,标量函数是“一对一”的转换,类似于hive中的UDF。 想要实现自定义的标量函数,我们需要自定义一个类来继承抽象类 ScalarFunction,并实现叫作 eval() 的求值方法。标量函数的
2022-12-03 19:58:19 1711
原创 FlinkSql中的聚合查询
在 SQL 中,一个很常见的功能就是对某一列的多条数据做一个合并统计,得到一个或多个结果值;比如求和、最大最小值、平均值等等,这种操作叫作聚合(Aggregation)查询。Flink 中的 SQL 是流处理与标准 SQL 结合的产物,所以聚合查询也可以分成两种:流处理中特有的聚合(主要指窗口聚合),以及 SQL 原生的聚合查询方式(分组聚合和over聚合)。
2022-11-30 21:45:01 2034
原创 Flink的检查点和保存点
如果出现故障,我们恢复到之前保存的状态,故障时正在处理的所有数据都需要重新处理;现在重启应用,内存中的状态已经丢失,就意味着之前的计算全部白费了,需要从头来过。具体来说,当每隔一段时间检查点保存操作被触发时,就把每个任务当前的状态复制一份,按照一定的逻辑结构放在一起持久化保存起来,就构成了检查点。,重置状态:找到最近一次保存的检查点,从中读出每个算子任务状态的快照,分别填充到对应的状态 中。遇到故障重启的时候,我们可以从检查点中“读档”,恢复出之前的状态,这样就可以回到当时保存的一刻接着处理数据了。
2022-11-25 21:30:51 2811 2
原创 Flink的状态持久化和状态后端
检查点的保存离不开 JobManager 和 TaskManager,以及外部存储系统的协调。在应用进行检查点保存时,首先会由 JobManager 向所有 TaskManager 发出触发检查点的命令;TaskManger 收到之后,将当前任务的所有状态进行快照保存,持久化到远程的存储介质中;完成之后向JobManager 返回确认信息。
2022-11-24 12:02:30 659
原创 Flink的状态编程
Flink 处理机制的核心,就是“”。在流处理中,数据是连续不断到来和处理的。每个任务进行计算处理时,可以基于当前数据直接转换得到输出结果;也可以依赖一些其他数据。这些由一个任务维护,并且用来计算输出结果的所有数据,就叫作这个任务的状态。(聚合算子、窗口算子都属于有状态的算子)有状态算子的一般处理流程,具体步骤如下。。托管状态就是由 Flink 统一管理的,状态的存储访问、故障恢复和重组等一系列问题都由 Flink 实现,我们只要调接口就可以;
2022-11-23 20:15:45 357
原创 Flink CDC介绍及原理
CDC (Change Data Capture) 是一种用于的技术,Flink 从 1.11 版本开始原生支持 CDC 数据(changelog)的处理,目前已经是非常成熟的变更数据处理方案。Flink CDC Connectors 是 Flink 的一组 Source 连接器,是 Flink CDC 的核心组件,这些连接器负责从等数据库读取存量历史数据和增量变更数据。
2022-11-22 15:27:12 2394 1
原创 java里的进程和线程
线程具有许多传统进程所具有的特征,故又称为轻型进程(Light—Weight Process)或进程元;而把传统的进程称为重型进程(Heavy—Weight Process),它相当于只有一个线程的任务。在引入了线程的操作系统中,通常一个进程都有若干个线程,至少包含一个线程。根本区别:进程是操作系统资源分配的基本单位,而线程是处理器任务调度和执行的基本单位资源开销:每个进程都有独立的代码和数据空间(程序上下文),程序之间的切换会有较大的开销;
2022-11-21 15:10:13 186
原创 clickhouse中的sql操作
clickhouse中的主键,和其他数据库不太一样,它只提供了数据的一级索引,但是却不是唯一约束。这就意味着是可以存在相同primary key的数据的。主键的设定主要依据是查询语句中的 where 条件。根据条件通过对主键进行某种形式的二分查找,能够定位到对应的index granularity,避免了全表扫描。直接翻译的话就是索引粒度,指在稀疏索引中两个相邻索引对应数据的间隔。clickhouse中的MergeTree默认是8192。
2022-11-15 19:17:12 1578
原创 详解clickhouse分区目录的合并过程
BlockNum 是一个整型的自增长型编号,该编号在单张MergeTree表中从1开始全局累加,当有新的分区目录创建后,该值就加1,对新的分区目录来讲,MinBlockNum 和 MaxBlockNum 取值相同。MergeTree的分区目录并不是在数据表被创建之后就存在的,而是在数据写入过程中被创建的。相当于某个分区被合并的次数,它不是以表全局累加,而是以分区为单位,初始创建的分区,初始值为0,相同分区ID发生合并动作时,在相应分区内累计加1。对应的是最小的数据块编号和最大的数据块编号,最后的。
2022-11-15 18:23:41 2828
原创 clickhouse基础介绍
ClickHouse 是俄罗斯的 Yandex 于 2016 年开源的用于在线分析处理查询(OLAP :Online Analytical Processing)MPP架构的列式存储数据库(DBMS:Database Management System),能够使用 SQL 查询实时生成分析数据报告。clickhouse可以做用户行为分析,流批一体,clickhouse没有走hadoop生态,采用 Local attached storage 作为存储。列式存储:列式存储更符合OLAP数据库的使用。DBMS的
2022-11-15 17:40:20 641
原创 Flink中的数据倾斜
在flink中,相同 Task 的多个 Subtask 中,个别Subtask 接收到的数据量明显大于其他 Subtask 接收到的数据量,通过 Flink Web UI 可以精确地看到每个 Subtask 处理了多少数据,即可判断出 Flink 任务是否存在数据倾斜。通常,数据倾斜也会引起反压。
2022-11-12 17:08:47 198
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人