自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

坚持自己的梦想

The mind is the limit

  • 博客(127)
  • 资源 (1)
  • 收藏
  • 关注

原创 Python时间处理利器:Pendulum库详解

Pendulum库通过提供直观的API、强大的时区支持和丰富的扩展功能,显著提升了Python时间处理的开发效率。无论是简单的日期操作还是复杂的时区处理,Pendulum都能提供简洁优雅的解决方案。对于那些需要频繁处理国际化时间、复杂时间计算或者希望提高时间操作代码可读性的项目,Pendulum无疑是一个极佳的选择。模块的完美补充,它在保证向后兼容的同时,为开发者带来了更现代、更易用的时间处理体验。模块,但通过更人性化的API设计和丰富的功能,极大地简化了时间相关的操作。Pendulum核心特性。

2026-07-04 20:35:01 224

原创 Hive子查询中的ORDER BY陷阱:为什么排序“消失”了?

今日和同事争论了片刻,背景是这样的, 有个客户写了一个SQL, 然后其中需要进行排序, 但是写了Order by, 但是排序没有生效. 然后我就尝试了下, 果然,在大数据平台里执行,是报错的. 但是在beeline执行, 查询结果是正常的, 所以就怀疑研发写了一个BUG, 于是就开始争论.SQL很简单,简写为SELECT *FROM dual。

2026-06-10 20:01:30 467

原创 pip下载库指定操作系统及python版本

pip下载依赖时指定操作系统及python版本

2026-05-27 07:19:05 150

原创 数据脱敏简介

数据脱敏(Data Masking)本质上是在与之间寻找平衡。针对不同的应用场景(开发测试、数据分析、生产环境),选型逻辑截然不同。

2026-05-17 22:58:56 517

原创 Hive分桶机制应用

Hive分桶机制应用摘要:本文介绍了Hive分桶机制在数据分布不均匀场景下的应用。针对业务数据频率不固定、查询时间范围不固定等问题,提出了使用动态分区和分桶策略的解决方案。重点阐述了分桶设计的5步流程:确定分桶键、判断需求、计算bucket数、表结构设计和写入优化,并提供了验证方法。分桶机制能有效提升JOIN、去重和抽样操作的性能,特别适用于大规模数据场景。文章还给出了实际SQL示例和参数配置建议,帮助实现高效的数据处理。

2026-05-12 23:03:45 382

原创 问题分析模型

本文系统介绍了四大类问题分析模型:1)寻找根因类(5 Whys、鱼骨图、故障树分析),用于深挖问题本质;2)拆解问题类(MECE原则、逻辑树、SCQA模型),帮助结构化分解复杂问题;3)制定决策类(矩阵分析、SWOT、决策评估矩阵),提供科学决策工具;4)系统思维类(冰山模型、PDCA循环),从全局视角预防问题。文章强调模型组合使用的实战价值,建议从5 Whys、逻辑树和SCQA三个基础模型入手,逐步掌握各类工具的应用场景和优劣势,提升结构化思考能力。

2026-04-29 22:10:48 1011

原创 Pandas 读取文本数据 (Text I/O) 速查表

本文介绍了Pandas中读取各类文本文件的核心函数与方法,包括pd.read_csv()、pd.read_table()和pd.read_fwf()等。主要内容涵盖:不同分隔符文件(CSV/TSV/自定义)的处理技巧、特殊格式(无表头/多级表头/固定宽度)的读取方法、大文件的内存优化策略(列筛选/类型指定/分块读取)、编码问题的解决方案,以及常见错误的排查指南。通过参数模板和代码示例,帮助用户高效解决数据读取中的各类问题,提升数据处理效率。

2026-03-25 11:47:52 358

原创 Pandas 数据选择与定位 (Selection & Indexing) 速查表

本文提供了Pandas数据选择与定位的速查指南,涵盖1.x/2.x版本核心操作。主要内容包括:基础数据查看方法、列选择技巧、基于标签(.loc)和位置(.iloc)的选择方式对比、条件筛选与布尔索引、安全赋值方法,以及高级选择技巧如query()和where()。重点强调最佳实践:优先使用.loc避免歧义,警惕链式赋值警告,明确区分视图与副本。同时提供了常见错误解决方案,帮助用户高效准确地操作DataFrame数据。

2026-03-25 11:42:52 212

原创 Hive中的大批量关键词匹配场景优化

面对海量关键词匹配,我绝不会用LIKE拼接或 UDF 硬查,而是通过“预构建关键词维表 + MapJoin + 分词/正则优化”三位一体策略,实现高效、可扩展的匹配。在 Hive 3 + Tez 架构下,我通过“小表物理裁剪 + CBO 驱动自动广播 + 执行计划验证”三位一体,实现千万级关键词对百亿文本的高效匹配,全程无需手动 hint,且具备自适应能力。

2026-01-24 12:30:08 818

原创 Hive 大表 Join 优化:从策略选择到倾斜处理

执行计划是金科玉律:永远不要假设 Hive 选对了策略。使用EXPLAIN查看执行计划,确认是否触发了 SMB Join,或者是否产生了不必要的 Reduce 阶段。谓词下推:确保过滤条件(Where)尽可能写在子查询内部,减少参与 Join 的数据基数。资源调优:对于大表 Join,适当增加 Mapper 的内存(避免读取 ORC 文件时 OOM)和调整 Reducer 的数量()也是必要的辅助手段。优化大表 Join,本质上是在用存储的复杂性换取查询的高性能(如分桶排序)。

2026-01-24 12:06:21 924

原创 Hive 中 UNION 与 UNION ALL

作为有经验的开发者,我的默认选择是性能优先(UNION ALL),仅在业务强需求时才牺牲性能换取语义正确性(UNION)。在 Hive 的日常开发与面试中,UNION 和 UNION ALL 的区别是一个高频考点。对于有经验的开发者来说,回答这个问题不能仅仅停留在“一个去重,一个不去重”的表面,我们需要深入到执行计划、底层原理以及数据库设计哲学的层面。如果数据库只提供 UNION(默认去重),那么每次合并数据时,我们都不得不承受去重带来的性能惩罚,即使我们的业务逻辑明确知道数据不会有重复。

2026-01-24 11:59:51 745

原创 面试备考-Hive窗口函数

原则:如果多个函数的逻辑允许,强制它们共用同一个OVER子句。场景:计算每个部门的累计销售额,同时计算每个部门的总销售额。错误写法 (产生 2 次 Shuffle)SELECTdept,date,sales,-- 第一次 Shuffle: PARTITION BY dept ORDER BY date-- 第二次 Shuffle: PARTITION BY dept (无 ORDER BY,但分区逻辑虽同,排序逻辑不同,旧版本可能不复用)

2026-01-24 11:47:17 1029

原创 对Hive表进行归档,减少小文件的影响

Hive归档仅推荐用于冷数据/静态数据(如历史日志、过期报表、长期不修改的备份数据),不适合热数据(频繁写入或更新的表)。开启Hive自动合并小文件参数(使用ORC/Parquet列式存储(自带文件合并和压缩优化);通过Spark写入时主动调整分区数(综上,归档是Hive解决小文件问题的“轻量方案”,但需根据数据的读写特性合理选择,避免因局限性影响业务灵活性。

2025-09-22 21:29:11 1098

原创 Hive中的with子句

Hive中的WITH子句(CTE)是一种简化复杂查询的工具,允许定义临时结果集并在查询中多次引用。其主要优势包括逻辑隔离、提升可读性及避免重复计算。CTE适用于简化嵌套查询、分步处理数据、递归查询层级数据等场景。最佳实践包括使用有意义命名、控制引用次数、避免过度嵌套等。与临时表相比,CTE适合内存处理简单逻辑,而临时表更适合大数据集多次引用。使用时需注意版本兼容性、执行计划分析和递归终止条件。合理使用CTE能有效优化Hive查询性能。

2025-08-27 21:13:51 1200

原创 dbt中多源数据的处理

本文介绍了在dbt中处理多数据源的核心方法。通过安装对应数据库适配器(如dbt-mysql、dbt-postgres等)并配置profiles.yml文件管理不同数据库连接。关键步骤包括:1)使用sources声明各数据库原始表;2)通过config指定模型输出目标库;3)采用分层架构(原始层→集成层→应用层)统一管理数据。建议将分散数据清洗后集中到单一分析库(如DuckDB),再通过ref()函数实现跨模型引用,避免复杂跨库查询。这种方法实现了多数据源的统一管理,同时保持dbt的核心功能。

2025-08-02 20:47:38 1233

原创 Hive-vscode-snippets

一个vscode的hive snippets例子

2025-07-25 20:16:09 496

原创 数据预览工具

基于SQLite的数据预览工具

2025-07-18 08:52:44 408

原创 Hive-自定义函数

hive-udf函数使用

2025-03-02 22:29:07 466

原创 Hive大表和小表查询优化方案探索

Hive大表和小表查询优化

2025-03-01 22:30:51 726

原创 hive-distribute by使用场景解析

DISTRIBUTE BY 的最佳实践围绕 ​数据倾斜治理、Join 局部性优化​ 和 ​预聚合数据对齐​ 展开。实际应用中需结合业务场景、数据分布特点和执行引擎特性灵活调整,建议通过实验对比不同配置的性能差异。

2025-03-01 21:54:44 1457

原创 删除hive用户后该用户创建的表权限问题及修复

当hive集群开启多用户的模式下,假设用户组A的用户hive_test创建了一个表, 此时另一个用户也是可以访问这个表的,但是因为一些原因,目前需要删除用户组A和用户hive_test, 在这个情况下,该用户创建的表,此时能否正常被进行查询或者数据插入等操作? 如果不能,应该如何修复这个问题?

2025-02-20 10:15:37 1512

原创 vsFTPd服务部署和用户模式简介

服务器部署vsftp,vsftp用户模式说明,PAM认证,解决用户密码正确,无法登录的疑难问题(直接跳转最后查看解决办法)

2025-01-06 23:01:25 1643

原创 使用智普AI的sdk和streamlit创建一个简单的chatbot

使用智普AI的sdk和streamlit创建一个简单的chatbot

2024-10-03 18:50:08 598

原创 正则表达式优化建议

当使用忽略大小写的标志时(例如在某些编程语言中通过特定的参数或修饰符),可能会意外地匹配到不希望的字符串。在优化后的表达式中,我们简化了模式,使用嵌套的分组和可选的量词。但如果对字符串的结构理解错误,可能会错误地使用锚点,导致不期望的匹配结果。)虽然是为了减少匹配量,但在复杂的表达式中可能会导致意外的行为,因为它们的行为取决于周围的模式和回溯机制。捕获组可能会捕获不需要的文本,或者在不需要捕获的时候进行了捕获,导致性能下降和结果的混乱。)时,如果不仔细考虑字符的范围,可能会意外地包含不需要的字符。

2024-09-02 22:19:30 1838

原创 PostgreSQL中的模式[schema]

postgresql数据库中的模式,以及如何选择。

2024-08-25 14:50:02 1696

原创 本地创建PyPI镜像

本地搭建pypi镜像

2024-08-17 14:19:50 425

原创 DRF-API-解析器

DRF-API-解析器学习

2024-08-15 21:52:31 775

原创 DRF-API学习-Routers

DRF库中关于routers-api的学习

2024-08-15 21:31:24 779

原创 REST framework-ViewSets学习

REST framework-viewsets相关api学习

2024-08-14 23:40:11 930

原创 REST framework-通用视图[Generic views]

REST framework-通用视图[Generic views]学习使用

2024-08-14 22:58:16 1027

原创 REST framework中Views API学习

django-rest_framework中view相关api学习

2024-08-14 22:48:06 1040

原创 docker开发环境搭建-关于数据库的IP是什么

我在本地的ubuntu系统上安装了docker,并创建了一个mysql容器,但是在使用DBeaver连接该数据库时,需要填写数据库的ip,填写127.0.0.1,工具提示找不到这个库,然后使用。这将把主机的3306端口映射到容器的3306端口。现在,可以使用IP地址来连接DBeaver中的MySQL数据库。,查看返回的信息,然后,也没有找到需要的答案。替换为创建的MySQL容器的实际ID或名称。这将返回容器的IP地址。然后,可以在DBeaver中使用此IP地址连接到MySQL数据库。

2024-08-08 19:10:20 463

原创 docker开发环境搭建-mysql搭建

使用docker部署MySQL

2024-08-07 20:53:14 397

原创 Hive-函数-时间处理

在Hive中,处理时间数据的函数非常有用,尤其是在处理包含时间戳或日期字段的大数据时。以下是一些Hive中相对频繁使用的时间处理函数,包括它们的名称、参数、功能以及SQL示例。

2024-08-05 11:52:11 1422

原创 Hive-函数-窗口函数

Hive中常用的窗口函数(也称为开窗函数)丰富多样,这些函数能够在进行数据分析时提供强大的支持,特别适用于需要对分组数据进行复杂计算和排序的场景。

2024-08-05 11:49:09 1610

原创 合并邻近时间的数据

【代码】合并邻近时间的数据。

2024-07-09 21:57:56 574 1

原创 Django中模型的基于类的混入

模型通过基于类的混入(继承),让模型继承重复的字段,减少一些不必要的重复工作.

2024-07-06 16:23:21 444

原创 Django-开发一个列表页面

使用django的内置视图,快速创建列表页面,提供基本的查询功能

2024-06-26 23:16:24 1014

原创 pandas中的loc和iloc

pandas中的loc和iloc使用

2024-06-19 21:57:33 1173

原创 在win10折腾Flowise:部署和尝试

在win10部署Flowise,并基于ollama搭建简单的llm应用

2024-05-15 23:52:57 2132 4

markdown语法转dokuwiki工具

markdown语法转dokuwiki工具,使用pypandoc实现将markdown语法转换为dokuwiki的语法

2026-03-26

unix时间和普通时间转换小工具

unix时间和普通时间转换小工具

2021-03-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除