电脑知识
儿童id字符串编程
2023-04-12 09:48

.fdt 文件保存了原始的 field 信息

.fdx 文件保存了一些帮助读取 fdt 的索引信息

.fdm 文件保存了一些基本的元数据,也包括一些辅助读取 fdx 文件的信息。

IndexHeader 索引文件头 lucene 对于索引文件,会写一个文件头,来标识一些基本的数据。

CodecHeader: 一个编码的 Header.

Magic: 一个魔法数字,永远是:0x3fd76c17.

CodecName: 当前编码的名字,比如对于当前的 fdm 文件时:”Lucene85FieldsIndexMeta”

Version: 一个内部的版本号,不是 lucene 版本号哦。

SegmentID: 当前 Segment 的 ID, 随机生成的 16 位字符串

SegmentSuffix: 当前 Segment 的后缀

===============================================================

ChunSize 每个 Chunk 中的 doc 数量

Version 版本号

NumDocs: doc 数量的总数

BlockShift: 控制 chunk 信息写入时的分块,2 ^ blockShift 为一块。

totalChunks: 总共有多少个 chunk

ChunkDocsNumIndex: 存储每个 chunk 中 doc 数量的内容,在 fdx 文件中的起始偏移位置

================================================================

ChunksDocsNumMeta: fdx 文件中存储 Chunk 中 doc 数量,用到的一些元数据

在fdx文件中,存储每个 chunk 中的doc数量时,使用了DirectMonotonicWriter类来进行存储,这个类用来存储单调递增数组,能够进行一些压缩。

为了完成压缩的功能,需要一些数字进行辅助,就是下面这几位咯。

- Min : 通过编码计算的最小值

- AvgInc: 通过编码计算的平均斜率

- ChunDocsNumIndex: 从开始写入到现在,fdx 文件的偏移量

- BitRequired: 所有要写入的数字,最大需要多少位才能存储

===================================================================

ChunkStartIndex: 存储每个 chunk 数据起始位置数据的起始位置

==================================================================

ChunkStartPointMeta: 存储每个 chunk 数据起始位置的一些元数据

在储存每个 chunk 的数据在 fdx 文件中的起始位置的相关数据时,和上面的 chunk 内 doc 数量一样,做了一些压缩~

- Min : 通过编码计算的最小值 - AvgInc: 通过编码计算的平均斜率 - ChunDocsNumIndex: 从开始写入到现在,fdx 文件的偏移量 - BitRequired: 所有要写入的数字,最大需要多少位才能存储

=========================================================

StartPointEndPoint: 存储每个 chunk 数据起始位置的数据的结束位置。

MaxPoint: fdx 的最大写入位置

numDirtyChunks: 脏的 chunk 的数量,当 chunk 并没有到达数量,而是强行进行 finish, 那么相关的 chunk 和 doc 就是 dirty 的。这两个变量记录了一下相关的数量。

numDirtyDocs: 脏的 doc 的数量

footer: 索引文件的脚部

CSS Peek这个Visual Studio Code插件扩展了 HTML 和 ejs 代码编辑,包括对源代码中字符串中的 css/scss/less (类和 id)的 Go To Definition 和 Go To Symbol in Workspace 支持。

CSS Peek - Visual Studio Marketplace

一图了解redis的应用场景。

Redis不仅仅只是用来做缓存。如图所示,Redis可以用于各种场景。

1、String

1.1、Session(会话):我们可以使用Redis在不同的服务之间共享用户会话数据。

1.2、Cache(缓存):我们可以使用Redis缓存对象或页面,特别是热点数据。

1.3、Distributed lock(分布式锁):我们可以使用Redis的String在分布式服务中获取锁。

2、Int

2.1、Counter(计数器):我们可以计算文章的点赞量和阅读量。

2.2、Rate limiter(限流器):我们可以对特定的用户ip使用速率限制。

2.3、Global ID(全局ID):我们可以使用Redis的Int来作为全局唯一性的ID。

3、Hash

3.1、Shopping cart(购物车):我们可以使用Redis的Hash来表示购物车中的键值对。

4、Bitmap

4.1、Calculate user retention(计算用户留存率):我们可以用Bitmap来表示用户每天的登录情况,并计算用户留存率。

5、List

5.1、Message queue(消息队列):我们可以将List用于消息队列。

6、ZSet

6.1、Ranking(排行):我们可以使用ZSet对文章进行排序。

分享歌词:

久度 - 赌

作词:久度

作曲:Jacoo

You have your sorrow seen grading your skin

Let me pull the last string

for the last time

For the last time

选择你还是选择了他

选择了雨露还是选择流沙

选择了把自己保护

做人群里的少数

选择用十年的草木

埋葬那冬日的梨花

选择和朝阳一同落下

选择把真诚摆上了货架

登上末日的方舟

撕裂那岁月与春秋

不惧怕死神和你共坐下

驶向黑暗的底部

去感受无力的抵触

当你在人群里最醒目

便是宿命给你的礼物

有时也想和你说说话

也想知道你心有多大

当内心的田野

用伪善的血液来灌溉

当天真的孩童

从事着私利的贩卖

当我把心室的隔膜

当着你的面撕开

直到最后一滴血滴下

你说这算不算爱

Without your worries

Your standing's so still

Let me come and save

for the last time

For the last time

多想在深海里溺亡

誓不做无趣的皮囊

纷葛都弃置在一旁

无人能触及的地方

枯石中汲取着营养

无灯的黑夜最晴朗

多少次把你放心上

纸上写下半个竖心旁

你我不过是一粒尘埃

却想在平淡里盛开

多希望有一方天地

却怪梦想住的太偏僻

为什么一直想远离

在自己身上找原因

有没有用尽了全心

还是说毕竟太年轻

只能去书本里找自己

思考过什么才是好字句

黑与白别颠倒次序

古人留下多少字迹

写满了一张白纸

又翻过一页

学会和自己独处

才能胜过一切

固执的自己

仍然执迷不悟

但面对现实或多或少

还是无助

唉还是不知自己该去哪处

自言自语的废话

那先就此打住

来自久度的单曲《赌》:网页链接 (@酷狗音乐)

以前要实时采集MySQL的表数据 要用canal 配置非常麻烦 有了flink cdc 只需要写几个SQL就能把MySQL的实时数据变动采集,并做加工

先在MySQL中授权

CREATE USER 'cdc'@'%' IDENTIFIED BY 'cdc';

GRANT SELECt, SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'cdc'@'%' IDENTIFIED BY 'cdc';

cdc这个用户可以做replicate

定义源头表,是从mysql binlog来.

CREATE TEMPORARY TABLE orders (

order_id INT,

order_date TIMESTAMP(0),

customer_name STRING,

price DECIMAL(10, 5),

product_id INT,

order_status BOOLEAN,

PRIMARY KEY(order_id) NOT ENFORCED

) WITH (

'connector' = 'mysql-cdc',

'hostname' = '10.66.1.49',

'port' = '3306',

'username' = 'cdc',

'password' = 'cdc',

'database-name' = 'core',

'table-name' = 'orders');

定义目的表,这儿我是直接打印.

CREATE TEMPORARY TABLE print_table (

order_id INT,

order_date TIMESTAMP(0),

customer_name STRING,

price DECIMAL(10, 5),

product_id INT,

order_status BOOLEAN

) WITH (

'connector' = 'print'

);

直接插入

insert into print_table SELECT * FROM orders;

#flink# #mysql#

发表评论
0评