- 博客(45)
- 收藏
- 关注
原创 大白话 Manacher算法
Manacher 算法用于解决字符串中最长回文子串最大长度问题。解释一下:回文:这个很好理解了,就是字符串正序和逆序是相同的字符串长度为奇数时,该回文字符串一定会有个中心对称轴,例如 “abcba” 关于中间的 ‘c’ 左右对称字符串长度为偶数时,只有一个虚拟的对称轴,例如"abba",只需要左右相同即可。子串:字符串中连续的字符序列一定注意了,必须得是连续的,例如对于字符串 “abcde”,“abc”、“bcd”…都是它的子串,但是类似"abd"、"ace"这种就不是它的子串了。
2024-05-01 20:05:02 1060
原创 sa-token非Web上下文无法获取Request
在主线程中,您可以将SA-Token存储在线程局部变量中,并在子线程中使用该变量来获取SA-Token。自定义认证逻辑:在子线程中编写自定义的认证逻辑,以处理SA-Token的验证和其他相关操作。提取SA-Token信息:从请求中提取SA-Token信息,并将其传递给子线程。您可以在主线程中解析请求参数或读取请求头,获取SA-Token,并将其传递给子线程。对象,因此无法直接在子线程中使用SA-Token认证框架中的Web相关功能。从源码中,我们可以看到,由于非Web上下文中无法直接获取。
2024-04-03 09:03:07 1403
原创 sa-token过期机制梳理
对应的值,由于该 key 的 timeout 在登录时已经确定了,所以超时后必定获取不到 value 从而报错。生成 login 信息,这里使用 redis 实现,redis 的 key 设置了超时时间。同时设置了一个 last-active 时间。获取到了 value 值,那么会接着取出。上次登录时的时间戳,与 配置中的。也即是会先从 redis 中获取。
2024-04-03 09:01:48 1955
原创 特征工程中的OneHotEncoder与DictVectorizer
介绍特征工程中 OneHotEncoder 以及 DictVectorizer 的基本用法
2024-04-02 19:47:55 477
原创 win10开发环境搭建之wsl2(Ubuntu)+Terminal+docker
本文带你从零开始在win10上搭建最基础的开发环境,使用wsl2(Ubuntu)作为Linux环境,Terminal作为Shell工具,利用docker-desktop搭建mysql、redis、mongoDB、es、clickhouse等常用的数据库。
2022-03-11 23:44:56 5777 2
原创 Clickhouse的Map类型数据及JDBC插入
Clickhouse的Map类型数据及JDBC插入1.Map类型数据结构简介需要在21.3+版本才支持https://repo.yandex.ru/clickhouse/rpm/testing/x86_64/ 下载新版本的CK安装包https://github.com/ClickHouse/ClickHouse/pull/15806 中描述了添加Map类型的issue而且该功能为实验性功能,需要设置参数开启该功能SET allow_experimental_map_type=1;-- 建表语句
2021-08-03 14:04:57 4895 1
原创 Clickhouse学习笔记03——常用语法及分布式搭建
文章目录五、查询语法1.with1.1 定义变量1.2 调用函数1.3 子查询2.from3.表函数4.array join5.关联查询4.1 all4.2 any4.3 asof6.with模型六、 函数1 类型转换函数2 日期函数3 条件函数4 其他七 、分布式1.集群概念2.分片概念3.配置zookeeper4.创建副本表4.1 一个分片4.2 两个分片5.分布式引擎5.1 没有副本5.2 有副本的配置6.分布式DDL7.分布式协同原理7.1 insert原理7.2 Merge原理7.3 mutati
2021-07-17 08:33:45 376 1
原创 Clickhouse学习笔记02——数据类型与引擎
三、ClickHouse基础入门1.数据类型注意在CK中关键字严格区分大小写ck中建表的时候 ,一定指定表引擎!create table tb_test1(id Int8 ,name String)engine=Memory;┌─name─┬─type───┬─default_type─┬─default_expression─┬─comment─┬─codec_expression─┬─ttl_expression─┐│ id │ Int8 │ │
2021-07-17 08:21:52 962 3
原创 Clickhouse学习笔记01——入门及安装
一、Clickhouse入门1.使用场景ClickHouse 是俄罗斯的Yandex于2016年开源的列式存储数据库(DBMS),使用C++语言编写,主要用于在线分析处理查(OLAP),能够使用SQL查询实时生成分析数据报告。OLAP场景的关键特征大多数是读请求数据总是以相当大的批(> 1000 rows)进行写入不修改已添加的数据每次查询都从数据库中读取大量的行,但是同时又仅需要少量的列宽表,即每个表包含着大量的列较少的查询(通常每台服务器每秒数百个查询或更少)对于简单查询,允
2021-07-17 08:17:13 666 1
原创 基于Flink的JDBC插入Nested结构数据到Clickhouse
1.Clickhouse的Nested数据结构Nested是一种嵌套表结构。一张数据表,可以定义任意多个嵌套类型字段,但每个字段的嵌套层级只支持一级,即嵌套表内不能继续使用嵌套类型。对于简单场景的层级关系或关联关系,使用嵌套类型也是一种不错的选择。create table test_nested( uid Int8 , name String , props Nested( pid Int8, pnames String , pva
2021-07-17 08:09:32 1518
原创 Scala中的继承顺序
1.特质构造顺序给出以下类和特质作为案例trait AA { println("A...")}trait BB extends AA { println("B....")}trait CC extends BB { println("C....")}trait DD extends BB { println("D....")}class EE { println("E...")}class FF extends EE with CC with DD {
2021-07-09 07:52:26 308 2
原创 Flink数据源不连贯解决方案
公司使用Flink分析流式数据时,有一批数据发送时间段比较固定,是早晨九点到早晨十二点左右,然后下午一点到四点十分之前,过了四点十分之后就没有数据发送,直接使用基于事件时间的窗口函数,会导致当天的最后一批数据由于Watermark没有到达窗口触发时间而等到第二天有新的数据进入时才会触发计算。和同事讨论以及查阅相关资料后,觉得解决这类型问题,可以从Watermark和触发条件两个方向解决,解决方案如下。1. 重写Watermark生成策略主要是在生成Watermark时不仅需要考虑事件时间,还需要考虑如
2021-06-03 21:52:57 809 5
原创 Flink的Yarn-Per-Job提交指令
Flink的yarn-per-job提交0.运行环境Flink版本:Flink 1.13.0集群环境:CDH6.3.2新版本的Flink可以通过-t参数提交统一格式的任务,日常工作中通常使用Per-Job On Yarn模式提交任务主要描述该部分的提交流程1.提交任务提交任务主要是通过./bin/flink run -t yarn-per-job完成常用的提交指令如下./bin/flink run \# 指定yarn的Per-job模式,-t等价于-Dexecution.target-
2021-05-18 12:42:39 10064 6
原创 CDH HBase脚本运行报错无法加载主类org.apache.hadoop.hbase.util.GetJavaProperty
1.错误描述在使用hbase或者flume-ng脚本时会报如下错误错误: 找不到或无法加载主类 org.apache.hadoop.hbase.util.GetJavaProperty2.错误解决查找hbase脚本位置将原有hbase脚本进行备份,然后编辑hbase脚本在第190行左右的以下代码后add_to_cp_if_exists "${HBASE_HOME}/hbase-server/target"添加 # Needed for GetJavaProperty che
2021-04-13 21:18:35 1234
原创 Azkaban Executor 设置任务并行度
Azkaban Executor 设置任务并行度1.问题描述最近使用Azkaban进行Hive的任务调度,工作流结构如下其中每一层都是一个工作流,每一层并行任务最少有5个,最多有二十多个,下一层执行依赖于上一层,但是在实际执行过程中,同一层最多只有10个任务并行执行。2.问题分析查看Yarn的Schedular,发现资源并不紧缺,联想到这是Azkaban的配置问题。查看AzkabanExecutorConfiguration参数配置,发现需要重新设置flow.num.job.threads,该
2021-03-09 18:48:45 1427
原创 Azkaban嵌套流的依赖
Azkaban嵌套流的依赖在Azkaban工作流的定义文件中可以添加子工作流查看官方文档https://azkaban.readthedocs.io/en/latest/createFlows.html给出了Embedded Flows定义嵌套工作流的实例nodes: - name: jobC type: noop dependsOn: - embedded_flow - name: embedded_flow type: flow conf
2021-03-07 00:41:55 1217 2
原创 CDH整合Flink(CDH6.3.2+Flink1.12.0)
一、准备工作安装jdk1.8及maven,jdk使用CDH安装包中自带的jdk的rpm包即可安装完成后添加环境变量[root@linux201 ~] vim /etc/profile.d/custom.sh添加如下内容# JAVA_HOMEJAVA_HOME=/usr/java/jdk1.8.0_181-clouderaPATH=$PATH:$JAVA_HOME/bin # MAVEN_HOMEMAVEN_HOME=/usr/local/maven-3.6.3PATH=$PATH:$
2021-03-01 10:43:47 10292 23
原创 Hive分区字段含中文报错问题解决方案
使用Hive创建动态分区时,如果分区中含有中文,会报以下错误。Illegal mix of collations (latin1_bin,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation ‘=’原因应该是分区表的编码和全局编码不相同造成的提供两种解决方案:方案一:修改mysql配置临时修改:进入mysql中设置如下参数set character_set_client = utf8;set character_set_conne
2021-02-23 13:21:06 2708
原创 Hadoop3.1.3集群安装
Hadoop3.1.3集群安装一、准备工作1.虚拟机准备2.安装必要插件3.修改主机名4.关闭防火墙5.设置静态ip及映射6.编写分发脚本7.配置ssh无密登录配置8.安装JDK9.重启二、安装Hadoop1.集群规划2.linux181上安装Hadoop1)解压安装包2)配置文件① 核心配置文件② HDFS配置文件③ YARN配置文件④ MapReduce配置文件⑤ workers文件⑥ 修改hadoop.env环境变量3.修改Hadoop一键启动脚本① 修改HDFS集群一键脚本① 修改HDFS集群一键脚
2021-02-19 14:13:43 412
原创 pywin32模块操作Excel
# 导入基本模块import osimport win32com.client as win32 # 导入Win32com模块from openpyxl.cell.cell import get_column_letter, column_index_from_string# 通过Python打开Excelapp = 'Excel'xl = win32.DispatchEx('%s...
2019-12-07 09:35:09 2523
原创 xlwings模块学习
xlwings的优点xlwings能够非常方便的读写Excel文件中的数据,并且能够进行单元格格式的修改可以和matplotlib以及pandas无缝连接可以调用Excel文件中VBA写好的程序,也可以让VBA调用用Python写的程序。开源免费,一直在更新打开已保存的excel文件import xlwings as xwimport time"""visibleTure...
2019-12-07 09:29:58 1646 1
原创 利用Mathpic OCR和Quicker实现数学公式的快速识别
利用Mathpic OCR和Quicker实现数学公式的快速识别写在前面相信很多小伙伴已经习惯了使用Mathpic来识别手写的或者论文中的数学公式,但是现在Mathpic每个月只能免费查询50次,如果想继续查询需要5美刀包月,这价格优点扛不住啊!不过, Mathpix官网还算是优点良心,给开发者留了条后门,使用API查询每月可免费查询1,000条,相信对于一般的小伙伴来说已经是绰绰有余了~具...
2019-10-27 23:20:01 7712 3
原创 eclipse按快捷键插入单行注释自动靠左解决方案
Eclipse Version: 2018-12问题:使用快捷键插入单行注释(Shift + /)每次自动靠左,如下图解决方案:1、Window-->Preferences搜索line comment,选中Formatter中的Edit对当前Formatter进行修改2、选中Enable line comment formatting以及Format line com...
2019-06-22 17:48:40 1295 1
原创 使用pygal的render_to_png生成图片时中文乱码问题
使用pygal的render_to_png生成图片时中文乱码问题时,可采取下列方法解决1)from pygal.sytle import Style2)定义一个Style对象,设置font_family属性为支持中文的字体3)pygal绘图时传入该Style对象作为其style属性话不多说,直接上例子import pygalfrom pygal.style import St...
2019-05-18 00:50:50 2264
转载 Python matplotlib修改默认字体
Python matplotlib修改默认字体matplotlib库作为Python常用的数据可视化库,默认字体居然不支持中文字体,必须得吐槽一下~闲言少叙,开始正文方法1:在plot中指定prop参数使用matplotlib.font_manager下的FontProperties加载中文字体调用函数时通过prop属性指定中文字体import matplotlib.pyplot...
2019-05-14 19:52:17 11655 1
原创 PyCharm未调用模块显示灰色
1、PyCharm版本 2018.1.32、问题描述 在PyCharm中使用import导入模块后且未使用该模块时,显示灰色且有下划线 3、解决方案 1)Settings——>Editor——>Inspections,选择右侧Severity——>Edit severities... ...
2019-05-10 16:53:58 6772 2
原创 Python random模块取值的上下界问题
e.g.import randomprint( random.randint(1,10) ) # 产生 1 <= number <= 10 的随机整数print( random.random() ) # 产生 0 <= number < 1 的随机浮点数print( random.uniform(1.1, 5....
2018-11-06 08:11:33 2960
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人