随笔分类 -  问题复盘

摘要:报错日志 org.springframework.dao.DeadlockLoserDataAccessException: ### Error updating database. Cause: com.mysql.cj.jdbc.exceptions.MySQLTransactionRollba 阅读全文
posted @ 2022-02-15 17:25 肆玖爺 阅读(362) 评论(0) 推荐(0)
摘要:现象 请求耗时明显增加,full gc越来越频繁,且效果不佳 解决方案 业务代码中使用了动态表达式计算函数:Eval.x("x", "x!=null"),修改后代码如下: // 表达式中不支持null,需要替换为nil expression = "x!=null".replaceAll("([!=] 阅读全文
posted @ 2022-02-15 17:15 肆玖爺 阅读(66) 评论(0) 推荐(0)
摘要:现象 Error occurred when intercept sql:update `campaign_user_log` set `status`='SENT', `fail_reason`=, `update_timestamp`= 1644562526235 where id in( 28 阅读全文
posted @ 2022-02-15 11:41 肆玖爺 阅读(147) 评论(0) 推荐(0)
摘要:snapshot包发布后多次加载还是旧版本 默认是24小时,gradle会检查一次依赖,可以设置每次build都进行检查 configurations.all { resolutionStrategy { cacheChangingModulesFor 0, 'seconds' } } 阅读全文
posted @ 2021-11-26 19:28 肆玖爺 阅读(600) 评论(0) 推荐(0)
摘要:场景 数据量两千万左右,数据列不固定,需要每天更新一次数据,使用MongoDB存储(其他存储可能更佳,此处不考虑)。数据使用方式: 通过_id检索 通过任意列(一列或多列)进行count查询 实现1:单表全量覆盖写入 spark任务每天全量写入MongoDB,并创建索引,数据写入耗时19分钟左右,构 阅读全文
posted @ 2021-07-13 16:45 肆玖爺 阅读(530) 评论(0) 推荐(0)
摘要:背景 需要对埋点数据进行增量清洗,增量更新parquet数据文件,步骤如下: 首次清洗历史所有数据 后续每次取增量数据和上次清洗结果做合并 问题 1、如何判断为首次任务,实现方案: 方案1:判断指定目录下是否存在数据文件 方案2:默认按照增量处理,首次不存在数据文件,通过异常捕获机制全量清洗 2、增 阅读全文
posted @ 2021-06-08 18:44 肆玖爺 阅读(316) 评论(0) 推荐(0)
摘要:背景 需要创建数据全字段索引,因此把带检索数据列以内嵌文档的方式写入,在内嵌文档上加索引,加速查询 方案1:内嵌文档上加索引 数据存储格式如下: { "_id" : "AB16105869340072961", "info" : { "payment_bank_code" : "BRI", "ord 阅读全文
posted @ 2021-06-04 19:01 肆玖爺 阅读(893) 评论(0) 推荐(0)
摘要:背景 数据列不固定,每次全量覆盖数据到Mysql,涉及到数据表结构的变更,需要调整自动创建数据表结构 方案1:DataFrameWriter.jdbc 使用spark原生提供的DataFrameWriter.jdbc,参考代码如下: /** * 数据覆盖写入指定mysql表 * 批量读写参数设置参考 阅读全文
posted @ 2021-06-04 14:07 肆玖爺 阅读(3020) 评论(0) 推荐(0)
摘要:问题 使用pyppeteer爬取数据时,goto指定页面报错pyppeteer.errors.PageError: net::ERR_CERT_AUTHORITY_INVALID,通过抓包请求过程如下: 当前请求被重定向了,切换到https请求,因此需要走TLS协议,但是Client hello后没 阅读全文
posted @ 2021-04-25 16:31 肆玖爺 阅读(4591) 评论(3) 推荐(0)
摘要:callback执行异常处理 如果Request请求成功后,在解析文本时异常,如下所示: def parse_details(self, response): ... item['metres'] = round(float( response.xpath('/html/body/section[1 阅读全文
posted @ 2021-04-02 14:15 肆玖爺 阅读(850) 评论(0) 推荐(0)
摘要:pip install xxx失败 使用Anaconda3管理虚拟环境,在指定虚拟环境中安装包失败,提示执行pip install –upgrade pip,但是升级失败提示: Cannot open D:\Program Files\Anaconda3\Scripts\pip-script.py 阅读全文
posted @ 2021-03-25 18:24 肆玖爺 阅读(672) 评论(0) 推荐(0)
摘要:现象 读取不到证书文件 证书文件变大 解决方案 读取不到证书文件 由于是springboot项目,部署时打包成jar启动,无法获取到有效的证书文件地址。解决方案:首次访问时从jar中提取证书文件到当前目录中,代码如下: /** * 获取jar包中证书文件地址 * * @param fileName 阅读全文
posted @ 2021-03-17 18:30 肆玖爺 阅读(1124) 评论(0) 推荐(0)