自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1271)
  • 收藏
  • 关注

原创 HIVE RollUP 函数示例

我们使用 COALESCE(country, 'All Countries') 和 COALESCE(category, 'Total') 将这些 NULL 值替换为有意义的标签,使报告更易读。简单来说,ROLLUP 是生成"总计与小计"**报告的终极工具。ROLLUP 会根据你在 GROUP BY ROLLUP() 中指定的字段,生成从最详细级别到最汇总级别的分层小计,最后生成一个总计。最佳搭档 COALESCE() / IFNULL() 和 GROUPING() 函数,用于美化输出和识别汇总行。

2025-09-17 15:38:16 157

原创 LEAD/LAG 窗口函数示例

2023-10-02 A 150 100 130 *(前一天是10-01的100)*2023-10-03 A 130 150 200 *(后一天是10-04的200)*2023-10-03 A 130 100 *(前两行是10-01的100)*2023-10-04 A 200 150 *(前两行是10-02的150)*这两个函数极大地简化了基于行间比较的分析查询,是时间序列分析和数据整理的利器。

2025-09-17 12:06:18 257

原创 NTILE 窗口函数

与 RANK()/ROW_NUMBER() 的区别:NTILE 关心的是分组,返回的是组号;数据不均匀:NTILE 只保证桶的大小尽可能接近,不保证桶内数值的区间范围。第一个桶中的最小值可能非常接近第二个桶中的最大值。好的,NTILE 是一个非常有用的窗口函数,它用于将有序的数据集尽可能平均地划分到指定数量的桶(bucket)中,所以桶1有 3 行(2+1),桶2和桶3各有 2 行。总之,NTILE 是进行数据分箱、分层和分析的强大工具,只要你需要将数据分成若干等份,它通常是首选函数。

2025-09-17 12:02:58 179

原创 rank(),row_number(),dense_rank()窗口函数区别

即使排序值相同,结果也是确定的(但不同数据库实现可能略有差异,最好增加唯一字段以保证绝对确定)。对于相同的sales值,哪一行是1,哪一行是2是不确定的(由数据库内部实现决定)。删除重复记录(只保留一条) ROW_NUMBER() 与 PARTITION BY 一起使用,为重复组内的行编号,然后删除编号 > 1 的行。确定Top N,但允许并列 RANK() 可能返回多于N行数据(因为并列)。ROW_NUMBER():不允许并列,即使值相同,也会强制给出一个唯一的、连续的序号。

2025-09-17 12:00:31 188

原创 HIVE中的正则表达式rlike

这个例子可能有点误导,更好的例子是:查找所有名称以 “C” 开头,第三个字母是 “t” 的记录:WHERE name LIKE 'C_t%',这会匹配 “Cat” 和 “Catalog”)查找名字以 "6" 结尾的产品 SELECT ... WHERE name LIKE '%6' Google Pixel 6 Pro (不,因为它以 ‘Pro’ 结尾,不会匹配) 123ABC (也不会,它以 ‘C’ 结尾)。而不是 RLIKE。, [], {}, ^, $, ` ` 等所有正则元字符。

2025-09-17 11:57:54 112

原创 HIVE的分区归档特性

NameNode压力:HDFS中每个文件都会在NameNode中占用约150字节内存,大量小文件会消耗大量NameNode内存。分区归档是将一个分区或多个分区的数据文件打包成更少的、更大的Hadoop归档文件(HAR文件)的过程。Hive分区归档是解决小文件问题的有效工具,特别适用于存储大量历史数据且每个分区数据量较小的场景。存储格式:对于列式存储格式(ORC/Parquet),通常有自己的小文件合并机制,可能不需要归档。小文件问题:当表有成千上万个分区,且每个分区只有少量数据时,会产生大量小文件。

2025-09-17 11:53:01 84

原创 hive修改数据存储位置会移动数据吗?

使用 ALTER TABLE ... SET LOCATION 后,虽然历史数据不会移动,但如果您后续执行 DROP TABLE,Hive 会根据元数据中当前记录的位置来删除数据。INSERT OVERWRITE ... 是 会向目标位置写入新数据,但如果目标是分区,它会覆盖该分区当前元数据指向的位置的数据。在修改任何分区或表的 LOCATION 之前,先问自己:“那里的数据准备好了吗?如果您需要修改分区位置并且希望将原有数据也移动到新路径,必须遵循一个“先移动数据,再更新元数据”的流程。

2025-09-17 11:46:27 156

原创 HIVE支持的数据格式和压缩格式

对于大多数生产环境,推荐使用列式存储格式(ORC或Parquet)结合SNAPPY或ZSTD压缩,这能在压缩比和查询性能之间取得良好平衡。*注:ORC和Parquet格式本身支持块级别分割,因此即使压缩算法本身不可分割,这些格式仍然可以高效处理。ZLIB (ORC) 高 中等 是* 中等 ORC格式的默认压缩。Hive 支持多种压缩格式,每种格式都有其特定的优势和适用场景。适用场景:对压缩比要求极高的场景,可以接受较慢的压缩速度。

2025-09-17 11:40:05 305

原创 HIVE表属性

'compactorthreshold.hive.compactor.delta.pct.threshold':触发压缩的delta文件大小相对于基文件的百分比阈值。'compactorthreshold.hive.compactor.delta.num.threshold':触发压缩的delta文件数量阈值。'orc.bloom.filter.columns'='id,name' -- 创建布隆过滤器的列。

2025-09-17 11:24:25 122

原创 HIVE的事务管理

'orc.compress'='SNAPPY', -- 使用 Snappy 压缩。-- 事务批处理大小。'orc.row.index.stride'=10000 -- 行索引步长。Hive 的事务支持使得它能够处理需要 ACID 特性的场景,如变更数据捕获、更新和删除操作,'orc.create.index'='true', -- 创建索引。-- 回滚事务(注意:Hive 的回滚能力有限)

2025-09-17 10:56:52 159

原创 HIVE数据更新删除等操作

- 106. 使用 CLUSTER BY(DISTRIBUTE BY + SORT BY的组合)-- 101. 使用EXPLAIN EXTENDED查看详细执行计划。-- 102. 使用ANALYZE TABLE收集统计信息。-- 86. 更新数据(需要Hive事务支持)-- 88. 删除数据(需要Hive事务支持)-- 100. 使用EXPLAIN查看执行计划。-- 90. 合并数据(UPSERT操作)-- 87. 更新数据(使用JOIN)-- 89. 删除基于条件的数据。-- 91. 创建视图。

2025-09-17 10:47:45 270

原创 HIVE高级查询窗口函数

- 78. 使用 FIRST_VALUE 窗口函数。-- 74. 使用 DENSE_RANK 窗口函数。-- 79. 使用 LAST_VALUE 窗口函数。-- 72. 使用窗口函数 ROW_NUMBER。-- 75. 使用 NTILE 窗口函数。-- 73. 使用 RANK 窗口函数。#跳号排序,上面名称相同,下一个跳号。-- 76. 使用 LEAD 窗口函数。#取分区后上一行的值。#取分区后下一行的值。-- 77. 使用LAG窗口函数。-- 80. 使用聚合窗口函数。#名词相同时,下一个不跳号。

2025-09-17 10:34:08 244

原创 Hive数据查询操作

- 67. 使用FULL OUTER JOIN。-- 55. 使用RLIKE正则表达式。-- 58. 使用GROUP BY分组。-- 59. 使用HAVING过滤分组。-- 66. 使用RIGHT JOIN。-- 68. 使用CROSS JOIN。-- 69. 使用 SELF JOIN。-- 65. 使用LEFT JOIN。-- 70. 使用UNION合并结果。-- 54. 使用LIKE模糊查询。-- 60. 使用CASE表达式。-- 62. 使用 EXISTS。-- 64. 使用JOIN连接表。

2025-09-17 09:04:52 123

原创 Hive数据加载操作

- 42. 多插入模式(从一个查询插入多个表/分区)-- 45. 使用VALUES插入数据。-- 41. 从查询结果覆盖插入数据。-- 39. 加载数据覆盖现有数据。-- 36. 从本地文件加载数据。-- 37. 从HDFS加载数据。-- 40. 从查询结果插入数据。-- 38. 加载数据到分区。-- 44. 插入到特定分区。-- 43. 动态分区插入。

2025-09-17 08:38:09 101

原创 什么是Firebolt

查询执行过程利用现代 CPU 的 SIMD(单指令多数据流)指令集,一次处理一大批数据行(一个向量),而不是传统的逐行处理,极大地提高了 CPU 效率和处理吞吐量。引擎暂停时,您只需为存储付费,计算成本为零。效果:当查询命中索引时,Firebolt 无需扫描原始海量数据,而是直接读取微小的、预先计算好的结果集,从而实现亚秒级的响应速度,即使是在万亿行数据集上。和 Snowflake 一样,Firebolt 将数据存储在廉价、持久的对象存储(如 AWS S3)中,而计算资源(称为“引擎”,Engines)

2025-09-17 08:22:33 232

原创 Hive表操作

- 15. 显示匹配模式的表。-- 18. 查看格式化表信息。-- 17. 查看表扩展信息。-- 27. 添加多个分区。-- 30. 修改分区位置。-- 32. 查看特定分区。-- 10. 创建内部表。-- 11. 创建外部表。-- 12. 创建分区表。-- 13. 创建分桶表。-- 14. 显示所有表。-- 16. 查看表结构。-- 20. 修改表属性。-- 23. 替换所有列。-- 25. 清空表数据。-- 28. 重命名分区。-- 19. 修改表名。-- 21. 添加表列。-- 26. 添加分区。

2025-09-16 13:51:02 258

原创 Hive数据库操作

- 9. 级联删除数据库(当数据库中有表时)-- 3. 显示匹配模式的数据库。-- 6. 查看数据库扩展信息。-- 2. 显示所有数据库。-- 5. 查看数据库详情。-- 7. 修改数据库属性。-- 1. 创建数据库。-- 4. 使用数据库。-- 8. 删除数据库。

2025-09-16 13:45:56 98

原创 什么是OSS

阿里云 OSS (Object Storage Service) 是一种海量、安全、低成本、高可靠的云存储服务,提供99.9999999999%(12个9)的数据持久性,适合存放任意类型的文件。简单来说,它就是阿里云提供的,类似于 Amazon S3 的对象存储服务。您可以将它理解为一个在阿里云上的、无限大的、非常可靠的网盘,但它不是通过“文件夹”来管理,而是通过API和SDK来存取数据。阿里云 OSS 是云计算的基石服务,是一个海量、安全、低成本且高可靠的对象存储服务。它适合存储几乎任何类型的静态数据。

2025-09-16 12:07:14 825

原创 什么是ceph

Ceph 是一个开源的、统一的、分布式软件定义存储系统。它的设计目标是在一个系统中同时提供对象存储、块存储和文件存储三种服务,并且能够运行在通用的商用硬件上,具有高度的可扩展性、可靠性和无单点故障的特性。您可以把它想象成一个可以自己搭建的、功能更强的“私有化”的 Amazon S3 + Amazon EBS + Amazon EFS 的集合体。Ceph 是一个强大而复杂的、用于构建大规模分布式存储系统的开源解决方案。它适合那些需要完全控制数据主权、希望避免云厂商锁定、拥有专业运维团队、且数据量巨大。

2025-09-16 11:50:23 603

原创 什么是S3

是亚马逊 AWS 提供的一种对象存储服务。它被设计用来在互联网上存储和检索任意数量的数据,从任何地方,在任何时间。您可以把它想象成一个无限大的、极其可靠的、可以通过互联网访问的云端硬盘。但它与传统硬盘(块存储)或文件共享(文件存储)有本质区别。Amazon S3 是云计算的基石之一。它不仅仅是一个简单的存储服务,而是一个高度可扩展、安全、耐用且成本效益极高的对象存储平台。它的 RESTful API 设计使其成为现代应用程序和无服务器架构的理想数据存储后端。

2025-09-16 11:26:42 328

原创 什么是snowflake

Snowflake 是一种完全托管的云原生数据平台,即服务(Data Platform-as-a-Service)。它的核心不是一个传统的数据库,而是一个融合了数据仓库、数据湖、数据工程、数据科学和数据分析工作负载的统一平台。简单来说,Snowflake 提供了一个地方,让你可以存储和分析从 GB 到 PB 级别的所有数据,而无需管理任何硬件、软件或基础设施。Snowflake 不仅仅是一个数据仓库,它是一个现代化的数据云平台。它的核心创新在于三层分离的架构,这带来了极致的弹性、并发性和易用性。

2025-09-16 11:06:33 413

原创 redshift计算引擎的介绍

Amazon Redshift 是亚马逊 AWS 提供的一种完全托管的、云原生的大规模并行数据仓库服务。简单来说,它是一个在云上专门用来对海量数据进行快速、复杂的分析查询的数据库系统。它不属于处理交易的传统数据库(如 MySQL、PostgreSQL),而是属于分析型数据库或OLAP(在线分析处理)数据库。Amazon Redshift 是一个为云时代构建的、专用于超大规模数据分析的利器。它非常适合企业需要对数 TB 到 PB 级别的数据进行快速、复杂的查询、生成商业智能报表和进行数据挖掘的场景。

2025-09-16 10:48:43 422

原创 Python可以操作哪些数据库好计算引擎

类别 | 代表技术 | Python 支持特点 |关系型数据库通过通用 API 或专属驱动完美支持,拥有 SQLAlchemy 等顶级抽象层。NoSQL 数据库拥有官方或事实标准的高质量客户端库,支持全面。分布式计算DaskRay提供一等公民级别的 Python API。Dask 和 Ray 是纯 Python 生态的骄傲。工作流编排其本身就用 Python 编写,定义工作流就是写 Python 代码。数据分析与科学计算Python 的绝对统治区。库的数量、质量和易用性无可匹敌。

2025-09-16 10:31:27 208

原创 做大数据开发应该从哪个语言学起

这不是一个“二选一”的问题,而是一个 “先后顺序” 和 “主次关系” 的问题。对于绝大多数初学者,正确的路径是:先深入学习Java,然后再学习Scala。当说“大数据开发要学Scala”时:上下文: 这个建议是针对大数据生态的核心工具(如Spark, Kafka Streams) 本身。因为这些工具用Scala编写,其API设计思想是函数式的。用Scala操作它们,就像用“母语”交流,是长期来看最优、最专业的选择。目标听众: 已经明确要深耕大数据领域,希望达到更高水平的学习者或从业者。当说“初学者要学Jav

2025-09-16 10:18:43 327

原创 Java与Scala的对比

java// Javascala// Scala - 方式多样,极其简洁// 或者使用更函数式的写法。

2025-09-16 10:07:50 616

原创 Java可以操作哪些数据库和计算引擎

类别代表技术Java 支持特点关系型数据库通过 JDBC 通用支持,行业标准。拥有 Hibernate, MyBatis 等大量成熟 ORM 框架。NoSQL 数据库官方或事实标准的 Java 客户端(如 Jedis, MongoDB Driver)。Spring Data 项目提供了统一的访问抽象。计算引擎 (核心)多数用 Java 编写,提供原生且功能最全的 Java API。Java 是这些系统的一等公民。计算引擎 (其他)提供功能完整、稳定可靠的 Java API。

2025-09-16 09:52:23 383

原创 Scala可以操作哪些数据库或计算引擎

类别代表技术Scala 支持特点关系型数据库通过 JDBC 通用支持,有 Slick, Doobie 等优秀库提升体验NoSQL 数据库通过官方 Java 客户端或专门的 Scala 封装库(如 ReactiveMongo)计算引擎 (核心)原生 Scala,API 体验最佳计算引擎 (优秀API)一流的 Scala API,体验接近原生查询引擎主要通过 JDBC 或各引擎自身的 Scala/Java API函数式工具库提供类型安全、函数式的数据库操作方式,极大提升开发效率和安全性核心优势。

2025-09-16 09:42:27 315

原创 ES禁止自动创建索引

此配置会禁止Elasticsearch自动创建索引,需要手动创建索引时需通过API指定。在 Elasticsearch 中,可以通过配置禁止自动创建索引。此设置会阻止写入未在映射中声明的字段,但已存在的字段仍可更新。动态字段禁用后,若需添加新字段,需手动更新映射并重新加载索引。修改配置后需重启Elasticsearch服务生效。配置禁止自动创建索引。

2025-09-05 17:29:58 209

原创 mongodb巡检

【代码】mongodb巡检。

2025-09-05 11:27:14 136

原创 查看Redis的bigkey

【代码】查看Redis的bigkey。

2025-09-05 11:17:38 246

原创 AI生成导出Oracle到csv或dmp

【代码】AI生成导出Oracle到csv或dmp。

2025-09-05 11:16:48 71

原创 AI生成MySQL数据导出工具

【代码】AI生成MySQL数据导出工具。

2025-09-05 10:52:49 82

原创 ES备份添加S3的插件

data/elasticsearch-7.17.0/bin/elasticsearch-keystore add s3.client.default.secret_key #设置:s3的sk;/data/elasticsearch-7.17.0/bin/elasticsearch-keystore add s3.client.default.access_key #设置:s3的ak;"endpoint": "s3的域名地址","bucket" : "桶名称",

2025-09-05 10:49:19 141

原创 TIDB部署软硬件环境要求

本文介绍 TiDB 数据库对软件和硬件环境的需求。TiDB 作为一款开源一栈式实时 HTAP 数据库,可以很好地部署和运行在 Intel 架构服务器环境、ARM 架构的服务器环境及主流虚拟化环境,并支持绝大多数的主流硬件网络。作为一款高性能数据库系统,TiDB 支持主流的 Linux 操作系统环境。

2025-09-03 11:35:58 561

原创 什么是 ProxySQL?

ProxySQL是一个高性能的开源 SQL 代理。它具有灵活的架构,可以通过多种方式部署,适合各类使用场景。例如,ProxySQL 可以通过缓存频繁访问的数据来提高性能。ProxySQL 的设计目标是快速、高效且易于使用。它完全兼容 MySQL,并支持高质量 SQL 代理的所有功能。此外,ProxySQL 还提供了许多独特功能,使其成为各种应用程序的理想选择。

2025-09-03 11:12:18 303

原创 已知的第三方工具兼容问题

TiDB 已列举XA这些不支持的功能不兼容将被视为预期行为,不再重复叙述。关于更多 TiDB 与 MySQL 的兼容性对比,你可以查看。本文列举的兼容性问题是在一些中发现的。

2025-09-01 17:25:28 652

原创 TIDB 支持的第三方工具

1.tidb支持的第三方工具TiDB,使得大部分适配 MySQL 的 Driver、ORM 及其他工具与 TiDB 兼容。本文主要介绍这些工具和它们的支持等级。

2025-09-01 17:03:57 443

原创 TIDB SQL 开发规范

【代码】TIDB SQL 开发规范。

2025-09-01 17:00:10 88

原创 mongodb分片内部主从切换

检查状态:rs.status();此时,主节点变成从节点,并重新选举出了主节点。主节点执行:rs.stepDown();执行后立即触发自动切换。

2025-08-19 09:59:34 116

原创 [ES]查询全部需要?size=1000 指明查询的条数。

无法查询到全部的数据。#可以查询到全部数据。

2025-08-19 08:51:57 133

空空如也

空空如也

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

TA关注的人

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