- 博客(21)
- 收藏
- 关注
原创 HiveSQL 中的集合运算详解
摘要:本文详细介绍了HiveSQL中的集合运算方法及其应用场景。重点讲解了UNION/UNIONALL(数据合并)、INTERSECT(交集)和EXCEPT(差集)三大核心运算符的使用技巧和性能优化策略。文章通过实际案例展示了如何利用集合运算解决多源数据整合问题,如用户行为分析等,并提供了数据类型匹配、NULL值处理等常见问题的解决方案。特别强调了不同Hive版本的兼容性问题及集合运算的黄金法则,帮助数据分析师高效处理复杂的数据整合任务。(149字)
2025-12-16 15:21:36
735
原创 Hive 动态分区插入数据
- 动态分区最佳配置模板-- 执行动态分区插入SELECTpart_col1, -- 分区列1part_col2 -- 分区列2(最后)
2025-12-05 18:29:17
174
原创 Hive正则表达式的应用
本文介绍了Hive中正则表达式的应用,包括基础语法、核心函数和实战案例。主要内容涵盖:1)Hive支持的4种正则函数(REGEXP/RLIKE、REGEXP_EXTRACT、REGEXP_REPLACE、REGEXP_LIKE)及其用法;2)正则表达式核心语法,包括元字符、量词、预定义字符类等;3)数据清洗、文本分析等业务场景下的具体应用;4)高级技巧如非贪婪匹配、前瞻后顾等;5)性能优化建议和常见问题解决方案。文中提供了大量SQL示例,如日志解析、数据脱敏、质量监控等实际案例,并附有常用正则模式速查表。
2025-12-04 18:21:14
320
原创 Hive核心知识深度分享
Hive核心知识摘要:本文介绍了Hive关键技术,涵盖架构原理、数据模型、查询优化和企业级应用。包括:1)Hive三层架构与SQL转MR/Tez/Spark的执行流程;2)数据模型设计(分区/分桶表策略、内外表区别);3)高级HQL技巧(窗口函数、复杂类型操作);4)企业级数据管理(生命周期、权限控制、数仓分层);5)性能调优(Spark/Tez引擎配置、SQL写法优化)。特别强调分区设计原则、分桶JOIN优化等实用技巧,以及元数据管理、数据血缘追踪等企业实践。掌握这些知识可有效提升Hive数据处理效率。
2025-12-03 18:19:27
485
原创 Hive性能优化实战指南:常见瓶颈与解决方案
本文总结了Hive性能优化的关键策略:1.数据倾斜处理:通过配置优化、两阶段聚合和JOIN倾斜处理解决;2.小文件问题:采用自动合并、表结构优化和定期维护方案;3.JOIN性能优化:针对不同场景选择MapJoin、分桶优化或调整JOIN顺序;4.执行引擎选择与资源配置:推荐TEZ引擎并合理设置内存参数;5.数据存储优化:建议使用ORC/Parquet格式并合理设计分区。文章提供了完整的优化检查清单和模板,强调先诊断后优化、优先解决数据倾斜等黄金法则,帮助快速提升查询效率。
2025-12-03 17:31:42
216
原创 python中with open的用法
在 Python 中,with open语句用于以一种安全、高效的方式打开文件。with语句会自动管理文件的生命周期,确保在文件使用完毕后正确关闭文件,避免因程序异常或疏忽导致文件未关闭而引发的资源泄漏问题。
2025-11-28 17:24:25
186
原创 Excel日期拼接技巧:避免日期变成数字的解决方案
本文针对Excel中日期拼接变成数字的问题,提供了多种解决方案。核心方法是使用TEXT函数格式化日期,如=TEXT(B2,"yyyy-mm-dd")。文章详细介绍了常用日期格式代码、处理空单元格的方法、业务场景应用案例(如生成员工信息卡、文件命名等),以及避免常见错误的最佳实践。还提供了CONCAT和TEXTJOIN函数的高级用法及实用模板库。通过掌握这些技巧,可以专业地解决Excel日期拼接问题,实现美观的数据展示。
2025-11-28 09:40:17
413
原创 高级数据处理:多列集合操作中保持对应关系的关键技巧
摘要:本文探讨了在多列数据聚合操作中保持列间对应关系的解决方案。针对collect_list和collect_set操作可能导致的列数据错位问题,提出了两种核心方法:1)使用结构体(struct)打包相关列数据;2)使用数组(array)保持顺序约定。文章还提供了处理collect_set去重逻辑的高级技巧,包括窗口函数预处理和map结构应用。通过电商订单、用户行为分析等实际案例,展示了这些方法的应用场景,并给出了性能优化建议,如数据预处理和控制集合大小。最后总结了处理多列对应关系的核心原则和策略选择方法。
2025-11-27 17:45:16
344
原创 大数据开发必备技能:collect_list 与 collect_set 的区别
本文介绍了大数据聚合函数collect_list和collect_set的核心区别与应用场景。collect_list保留所有记录(不去重),适合需要完整历史数据的场景;collect_set自动去重,适合统计分析场景。文章通过订单表实例展示了两者的结果差异,并深入分析了它们在数据重复处理、元素顺序和性能方面的特性差异。
2025-11-27 17:16:05
815
原创 Hive多列对应拆分全版本兼容方案
开始↓检查Hive版本/测试posexplode支持↓IF posexplode支持 THEN使用方案一(直接posexplode)ELSE使用方案二(space+split模拟)END IF↓执行数据质量检查↓运行拆分查询↓验证结果准确性。
2025-11-14 18:25:42
321
原创 Hive多列对应拆分技术详解:避免笛卡尔积的实践指南
理解数据关系:明确字段间的对应关系选择合适方案:根据数据特性选择最优解法处理边界情况:数组长度、空值、异常数据性能考量:数据量大小和执行效率平衡。
2025-11-14 18:04:59
592
原创 Python数据分析中常用的库导入语句
Python数据分析中常用的库pandas、numpy、matplotlib、seaborn、scikit-learn等通过组合覆盖了从数据获取、清洗、分析到建模、可视化的完整数据分析流程,是Python数据分析师的核心工具集。
2025-10-17 15:25:39
803
原创 random_state=42 的主要使用场景
在机器学习和数据分析中,random_state=42常用于控制随机性以保证结果可复现。主要应用场景包括:数据集划分、模型初始化、数据洗牌、交叉验证和特征选择。其原理是通过伪随机数生成器,使相同种子产生相同随机序列。使用场景包括教学演示、论文实验等需要可复现性的场合,但在生产环境和需要多样性的场景应避免使用。最佳实践是同时设置全局和局部随机种子,并注意不同库的随机源管理。42作为"魔法数字"的核心价值在于确保可复现性和调试便利性。
2025-10-17 14:59:08
936
原创 为什么随机种子值常用42 ?
机器学习中常用random_state=42作为随机种子,这源于《银河系漫游指南》中“生命答案是42”的文化梗,已成为技术圈传统。42作为固定种子既有非特殊数值的优势(避免与算法冲突),又能保证结果可复现,方便代码共享。其他常见值如0、1、7等也因文化习惯被使用。关键是通过固定种子确保实验可重复性,而42的选择更多是程序员幽默的体现。实际应用中,建议教学演示和论文复现时固定种子,生产环境可视需求决定是否固定。
2025-10-17 14:54:01
622
翻译 tfidf.fit_transform的用法
stop_words:可以指定停用词列表,在构建词汇表和计算 TF-IDF 时会忽略这些词。,会自动忽略英语中的常见停用词。:可以指定 n-gram 的范围。例如表示不仅考虑单个词(unigrams),还会考虑连续的两个词(bigrams)。max_df和min_dfmax_df用于忽略在文档中出现频率过高的词(例如超过 80% 的文档都出现的词),min_df用于忽略在文档中出现频率过低的词(例如只在不到 2 个文档中出现的词)。# 使用自定义参数创建 TfidfVectorizer 对象通过。
2025-01-07 16:38:02
232
原创 hive-sql截取汉字、字母和数字等
在查询字段中截取汉字、字母和数字等代码如下:1、截取数字select regexp_extract('$%^&&*!(123hello你好,。.,','([0-9]+)',1);--输出:123select regexp_replace('$%^&&*!(123hello你好,。.,','[^0-9]','');--输出:1232、截取字母select regexp_extract('$%^&&*!(123hello你好,。.,',.
2021-10-11 22:06:23
11722
原创 Hive sql 行列转换(行转列,列转行)
在Hive sql应用中会遇到“行转列”和“列转行”的场景,下面介绍其基本使用语法。1.行转列:关键字:collect_set() / collect_list()、concat_ws()1)collect_set()/collect_list():collect_set( )函数只接受基本数据类型,作用是对参数字段进行去重汇总,返回array类型字段;collect_list()函数和collect_set( )作用一样,只是前者不去重,后者去重。2)concat_ws():concat_w
2021-09-22 20:49:53
25618
原创 Hive详细表结构操作
1、修改表名格式:alter table 旧表名 rename to 新表名例1:alter table tb_data_tmp rename to tb_test;2、为表添加注释-- 修改表注释alter table tb_test set tblproperties('comment' = '测试表');-- 查看表信息desc formatted tb_test;3、向Hive表中添加字段格式:alter table 表名 add columns (字段名 字段类型 comment
2021-09-18 00:20:47
489
原创 数据分析的意义与必备技能
什么是数据分析?数据分析是基于商业目的,有目的的进行收集、整理、加工和分析数据,提炼有价值信息的一个过程,这些信息正成为很多企业业务增长、迭代更新的关键。数据分析是让数据变成生产力的一部分,是从海量的数据中窥视背后的业务逻辑,寻找出新的业务增长目标,或者及时发现业务潜在的问题。数据分析是服务于业务需求的,脱离了业务需求的数据分析就是在“打黑工”。为什么需要数据分析?数据分析有助于我们理解数据,否则数据将仍然是一堆没有价值的信息或数字。因为分析有助于人类做出决策,所以对数据...
2021-08-15 20:34:43
2032
原创 R语言发送邮件
用R自动发送邮件,在一些工作场景不仅非常实用还可以极大提高工作效率。本文介绍用R实现自动发送邮件。在R语言中,用mailR包实现邮件的自动发送,用脚本发邮件,属于第三方邮件发送方式。目录一、R语言发送邮件的使用场景:二、R语言发送邮件的使用工具包:三、R语言发送邮件的基本准备:四、不同情形下代码实现 五、R语言发送邮件如何定时一、R语言发送邮件的使用场景:1.R语言程序运行结束的提示邮件。2.在数据处理当中碰到异常问题时发送邮件。...
2021-08-14 18:59:12
3654
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅