logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

本地部署DeepSeek R1与RAG简单实验

前言叠个甲,流水账,非专业,只是蹭一下DeepSeek的热度(实验环境为家用PC,配备NVidia GeForce RTX 4090D显卡、AMD锐龙9 9950X处理器与48G内存,操作系统为Windows 11专业工作站版。使用Ollama部署DeepSeek R1在Ollama官网下载对应操作系统版本的Ollama并安装。对于Windows系统,Ollama默认安装在C分...

Canal+Camus快速采集MySQL Binlog到数据仓库

写了很久原理分析和源码阅读方面的文章,对实操类型的总结都有些生疏了,这次放个简单暴力的吧。数据仓库的同步方法我们的数据仓库长久以来一直使用天级别的离线同步方法:采用Sqoop或DataX按天定时获取各个MySQL表的全量或增量数据,然后载入到Hive里对应的各个表中。这种方法门槛低,容易操作,在数仓建设阶段能够快速启动。但是随着时间的推移,它暴露出了一些缺点:从MySQL获...

详解分治法(divide-and-conquer)及其典型应用

什么是分治法在昨天的文章《漫谈数据库中的join》的最后,提到Grace hash join和Sort-merge join都是基于分治思想的。分治法(divide-and-conquer)是一种重要的求解复杂问题的算法思想,根据《算法导论》的描述,分治法按照3步执行:Divide the problem into a number of subproblems that...

解决Jedis抛出的Unexpected end of stream异常

今晚断网,很久没修好,写篇超短的,然后趁早休息。有一个Flink程序从Kafka读取数据,按1分钟滚动窗口汇总计算指标,并向Redis写入结果,即每1分钟写入一次。虽然Kafka Source输入的数据量巨大,但每分钟汇总的结果只有几百KB大。程序运行数小时之后,就会抛出如下的异常:redis.clients.jedis.exceptions.JedisConnectionEx...

CDH大数据集群Linux系统参数调优

系统版本为CentOS 7。vm.swappiness设置方法:echo 1 > /proc/sys/vm/swappiness,或sysctl -w vm.swappiness=1,或编辑/etc/sysctl.conf文件,加入vm.swappiness=1swap即交换空间,作用类似于Windows中的虚拟内存,也就是当物理内存不足时,将硬盘上的s...

大数据流的在线Heavy Hitters算法(下篇):基于略图的方法

Continue...之前有好几篇分上下篇写的文章都鸽了,惭愧惭愧。为了不食言,今天继续聊Heavy Hitters(频繁项)算法之基于略图(Sketch)的方法。时间紧张且限于水平,写得简单些,看官勿怪。什么是略图顾名思义,略图(Sketch)就是能够大致准确地描述一份数据集的摘要。当数据量非常大时,往往不能直接放入内存中,普通的查找树、哈希表等受制于数据规模,自然也就没有用武之地了。然而...

#算法#机器学习#python +2
图论的起源:柯尼斯堡七桥(一笔画)问题与欧拉路径/回路

柯尼斯堡七桥问题大数学家欧拉一生中的大部分时间在俄国和普鲁士度过。1735年,他提出了著名的柯尼斯堡七桥(Seven Bridges of Königsberg)问题:柯尼斯堡(今俄罗斯加里宁格勒)的市区横跨普雷格尔河两岸,河中心有两个小岛,小岛与河的两岸有七座桥连接。在所有桥都只能走一遍的前提下,如何才能把这个地方所有的桥都走遍?当时欧拉并没有找到这个问题的解。第二年,他证明了不存在符...

#图论#算法
浅谈Flink SQL代码生成与UDF重复调用的优化

前言之前讲解Flink SQL执行流程时留下了代码生成的坑,在百忙之中抽时间补一补。代码生成简介代码生成(code generation)是当今各种数据库和数据处理引擎广泛采用的物理执行层技术之一。通过代码生成,可以将原本需要解释执行的算子逻辑转为编译执行(二进制代码),充分利用JIT编译的优势,克服传统Volcano模型虚函数调用过多、对寄存器不友好的缺点,在CPU-bound场景下可以获得大幅

#flink#sql#大数据
聊聊数据仓库中的缓慢变化维度(SCD)

虽然我的主业是实时计算和批量计算,并不是数仓,但是在日常工作中绝对少不了与数仓打交道。并且我也算是参与过离线数仓建设的,维度建模的基础还是不能忘。本文就作为一篇抄书笔记吧。SCD简介顾名思义,缓慢变化维度(slowly changing dimension, SCD)就是数据仓库维度表中,那些随时间变化比较不明显,但仍然会发生变化的维度。考虑以下两个情境:在员工维度表中,某...

Flink SQL空闲状态保留时间(idle state retention time)实现原理

前言如果要列举Flink SQL新手有可能犯的错误,笔者认为其中之一就是忘记设置空闲状态保留时间导致状态爆炸。2021年的第一篇技术文,时间很紧张,聊聊这个简单的话题吧。为什么要设置如果我们在数据流上进行分组查询,分组处理产生的结果(不仅仅是聚合结果)会作为中间状态存储下来。随着分组key的不断增加,状态自然也会不断膨胀。但是这些状态数据基本都有时效性,不必永久保留。例如,使用Top-N语法...

#java#python#数据库 +2
到底了