> 本文由 chatGPT 生成,可能存在一定错误,请读者自行甄别。 Hive和ClickHouse都支持TTL(Time-To-Live)机制,可以帮助用户自动管理表的生命周期,包括数据的删除和归档等操作。下面将分别介绍Hive和ClickHouse的TTL机制。 Hive的TTL机制 在Hive...
标签: Hive
-
Vol.04 Hive / Spark 如何避免单节点全局排序?
最近因为经常对接模型算法,营销模型的一个应用场景是:按照模型打分取 TOPN 用户进行营销投放,由此就会产生一个全局排序的场景:**在用户量过亿的情况下,单点全局排序极其容易出现 OOM。**经历了几次线上事故之后,决心要彻底解决这个问题,跟同事请教了下,可以通过 **“加盐打散”** 来解决这个问...
-
SQLBoy日常工作技巧
入职新工作三周了,虽然还处理 SQLBoy 阶段,但是学习到了非常多小技巧,有必要记录一下,持续更新,避免遗忘。 - 规范需求记录,脚本备份,文档归类,代码片段,数字字典 - 封装公共参数和大数据脚本执行参数到脚本当中,执行脚本只需要引入变量 - 每一种 SQL 脚本方式封装一个方法,固定脚本执行格...
-
hive性能优化
基础优化 - Shuffle 阶段压缩 - hive的数据压缩 - Snappy - hive的数据存储格式 - ORC - TextFile - fetch抓取 - 本地模式 - join的优化 - 小表在前,小表放入缓冲区 - 谓词下推,先过滤再 join - SQL优化的方案 - 列裁剪 - ...
-
Hive数仓缓慢渐变维之拉链表
缓慢渐变维 主要是为了解决, 是否需要在数仓中维护历史变化的数据操作 注意:如果不维护一个数据的历史变化信息, 那么在进行数仓分析的时候, 是有可能对未来分析的结果产生影响 **实现缓慢维的3种方式** ```sql **SCD1** 对于历史变化的数据, 是进行维护操作, 直接进行覆盖即可 此种操...
-
Hive自动化建库建表
前言说明 项目数仓数据源太多,于是自己写了一个工具类,读取数据源的元数据信息,自动建库建表 以 MySQL 为例,代码如下。 HiveUtil ```java object HiveUtil { def main(args: Array[String]): Unit = { createHiveTa...
-
Sqoop自动化抽取数据与验证
前言说明 最近项目业务数据源多种多样,用 Sqoop 抽取数据到数仓是一个体力活,底层又是基于 MapReduce 执行的,速度感人,关键是还得做数据校验 于是想着自己写个工具类,和自动建表建库类似,自动读取数据源表和字段信息,创建对应脚本,扔到 DolphinScheduler 上自动跑就完事。 ...
-
大数据常用脚本
一键启动 一键启动常用服务 ```bash #!/bin/bash if [ ! $1 ] then echo "please input [start|stop]" exit 1 fi #start hadoop echo " ----------- $1 dfs ------------ " s...
-
大数据常用命令
MySQL ```sql 启动 service mysqld start systemctl start mysql[d] 关闭 service mysqld stop #设置mysql开机启动 chkconfig mysqld on ``` Hadoop ```bash 全局组件启动与停止 sta...