Hive的文件合并
背景:Flink数据写入到stage层,然后再入ods层,中间导致hive数据实时性不强,随后做优化,Flink之间以orc格式写入到hive
问题:单表日800亿数据量,产生过多的小文件,影响Impala查询
解决:对hive小文件进行合并,
ALTER TABLE lt_ipsy_xdr_temp PARTITION (day=20230829, hour=9,type=4) CONCATENATE;
目前大数据平台hdfs数据存储情况:
数据仓库中的表:
1.stg层是把flink应用程序写入的数据load进入的;
2.ods层表名称中包含ai的表是从mysql导入的;
/_SCRATCH0 这些目录是sqoop 把mysql数据导入hive时生成的临时目录,可以删除。
3.stg 和 ods 的 tb_bu_dc_monitor_day 是外部表,其他层的表都是内部表;
4.stg层是原始数据,没有经过压缩处理,ods及以后其他各层都是orc格式
使用hive concatenate (外部表不可用,内部表可用,orc可用,分桶表不可用)
使用方式:
#1.设置文件最小大小(需要设置,否则合并操作可能会不理想):
SET mapreduce.input.fileinputformat.split.maxsize=256
#对于非分区表
alter table A concatenate;
#2.对于分区表
ALTER TABLE lt_ipsy_xdr_temp PARTITION (day=20230829, hour=9,type=4) CONCATENATE;
因为分桶表不适用,所以可以采用覆写的方式
INSERT OVERWRITE TABLE table
PARTITION (day=20230908,hour=9,datatype=4)
SELECT
a,b,c,d,e
FROM table
where day=20230908 and hour=9 and datatype=4;
相关文章:
Hive的文件合并
背景:Flink数据写入到stage层,然后再入ods层,中间导致hive数据实时性不强,随后做优化,Flink之间以orc格式写入到hive 问题:单表日800亿数据量,产生过多的小文件,影响Impala查询 解决:对hive小文件进行合并, ALTER TABLE lt_ipsy_xdr_temp PARTITION (day20230829, hour9,type…...
Mac删除不在程序坞的程序
现象描述:删除某个程序时(通过‘程序’列表中将该应用移动到废纸篓里),该应用程序正在运行中,删除过程该程序未提示正在运行中,仅仅删除了图标(在此吐槽下该程序的交互,产品没有考虑…...
c#删除数组中符合条件的元素
错误写法 List<int> list new List<int>() { 1, 2, 3, 4 }; for (int i 0; i < sz; i){if (i 1 || i 2)list.RemoveAt(i);}在迭代过程中删除数组元素会有很大的问题,例如删除后位置移动,导致不该被删除的元素被删除。还可能导致数组…...
sqoop 脚本密码管理
1:背景 生产上很多sqoop脚本的密码都是铭文,很不安全,找了一些帖子,自己尝试了下,记录下细节,使用的方式是将密码存在hdfs上然后在脚本里用别名来替代。 2:正文 第一步:创建密码对…...
微信小程序使用CryptoJS加密PassWord(MD5)
微信小程序使用CryptoJS加密PassWord(MD5) 背景及环境: 微信小程序登录页面,需要加密登录密码发送给后端,使用 MD5 来加密密码 开发工具:微信开发者工具 npm安装CryptoJS 查看有哪些crypto的包 npm search crypto 找到自己需要的包…...
国有企业合同领域的合规管理
随着中国经济的快速发展和市场经济体制的完善,国有企业在国民经济中的地位和作用日益凸显。作为经济主体之一,国有企业必须积极适应市场环境的变化,加强合同管理,提高合规水平,以实现持续发展目标。本文将围绕国有企业…...
Joe主题魔改:正文内容实现图片懒加载
引言 有个哥们问我Joe主题的正文部分,如何同样图片懒加载,于是便研究了一下。 探索过程 因为PHP语言我用的很少,并不擅长,于是我去网上搜了一下。 方案一:用一个叫Jquery Lazyload的JavaScript脚本,我尝…...
网络爬虫实践小结
背景 近期工作中要解决两个问题,一个是数据组需要网爬一些图片数据,另外一个是要批量爬取公司用于文档协同的一个网站上的附件。于是乎,就写了两个脚本去完成任务。 爬虫思路 第一步:向确定的url发送请求,接收服务器…...
逍遥魔兽:如何在服务器上挂机器人?
逍遥魔兽是一款备受欢迎的魔兽世界经典版本,对于许多玩家来说,为了提升游戏体验和效率,他们希望能够在服务器上挂机器人。本文将为您详细讲解如何实现在逍遥魔兽服务器上挂机器人,以提高游戏进程的自动化效率。 第一部分&#x…...
软件工程与计算总结(九)软件体系结构基础
目录 编辑 一.体系结构的发展 二.理解体系结构 1.定义 2.区分体系结构的抽象与实现 3.部件 4.连接件 5.配置 三.体系结构风格初步 1.主程序/子程序 2.面向对象式 3.分层 4.MVC 一.体系结构的发展 小规模编程的重点在于模块内部的程序结构非常依赖于程序设计语言…...
bootz启动 Linux内核涉及do_bootm_linux 函数
一. bootz启动Linux uboot 启动Linux内核使用bootz命令。当然还有其它的启动命令,例如,bootm命令等等。 本文只分析 bootz命令启动 Linux内核的过程中涉及的几个重要函数。具体分析 do_bootm_linux函数执行过程。 本文继上一篇文章,地址…...
ipad有必要用手写笔吗?性价比电容笔排行榜
随着技术的进步,各种新型的数字电子产品不断涌现。比如说,智能手机、ipad、电容笔之类的东西。但事实上,要将iPad的功能发挥到极致,我认为,这款电容笔,就必不可少的了。这就好像我们在ipad平板上书写东西&a…...
jmeter怎样的脚本设计才能降低资源使用
官网地址:Apache JMeter - Users Manual: Best Practices 1、用好断言 频繁的使用断言会加大资源的消耗,尽可能减少断言的使用,或者在使用的过程中断言数据文本尽量精简,断言内容尽量以status/code、msg/message来判断࿰…...
如何避免 IDEA 每次重启都index
如何避免 IDEA 每次重启都index 在 IntelliJ IDEA 中,可以通过以下几个步骤来避免每次重启时索引: 打开 File -> Settings 菜单。在左侧的菜单栏中选择 “Appearance & Behavior” -> “System Settings” -> “Synchronization”。 在右…...
ImagePreview查看gif图,关闭之后原图不动了
vant的ImagePreview查看大图,当查看的是gif图的时候,关闭查看大图弹窗,原图不动了,ios上几乎必现。 解决的方案是,监听onclose事件,在关闭的时候把原图的gif图地址重新设置一下就好了 sceneImg(url: stri…...
实现基于 GitLab 的数据库 CI/CD 最佳实践
数据库变更一直是整个应用发布过程中效率最低、流程最复杂、风险最高的环节,也是 DevOps 流程中最难以攻克的阵地。那我们是否能在具体的 CI/CD 流程中,像处理代码那样处理数据库变更呢? DORA 调研报告 DORA(DevOps Research &am…...
android关闭键盘方法
Android开发中经常会遇到隐藏键盘的需求,例如登录界面,输入账号密码后需要点击界面其它部位,隐藏键盘。为此,分享前几年自己使用的方法,最近亲自测试,仍然有效。 方法一、Window window getWindow(); Win…...
ACK 云原生 AI 套件:云原生 AI 工程化落地最优路径
作者:胡玉瑜(稚柳) 前言 在过去几年中,人工智能技术取得了突飞猛进的发展,涵盖了机器学习、深度学习和神经网络等关键技术的重大突破,这使得人工智能在各个领域都得到广泛应用,对各行各业产生了深远的影响。 特别值…...
工程企业管理软件源码-综合型项目管理软件
工程项目管理软件(工程项目管理系统)对建设工程项目管理组织建设、项目策划决策、规划设计、施工建设到竣工交付、总结评估、运维运营,全过程、全方位的对项目进行综合管理 工程项目各模块及其功能点清单 一、系统管理 1、数据字典&am…...
stm32mp157中断简单应用
设置按键中断,按键1按下,LED亮,再按一次,灭 按键2按下,蜂鸣器响。再按一次,不响 按键3按下,风扇转,再按一次,风扇停 main.c #include "gpio.h" #include &…...
变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析
一、变量声明设计:let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性,这种设计体现了语言的核心哲学。以下是深度解析: 1.1 设计理念剖析 安全优先原则:默认不可变强制开发者明确声明意图 let x 5; …...
在软件开发中正确使用MySQL日期时间类型的深度解析
在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...
Robots.txt 文件
什么是robots.txt? robots.txt 是一个位于网站根目录下的文本文件(如:https://example.com/robots.txt),它用于指导网络爬虫(如搜索引擎的蜘蛛程序)如何抓取该网站的内容。这个文件遵循 Robots…...
Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?
在大数据处理领域,Hive 作为 Hadoop 生态中重要的数据仓库工具,其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式,很多开发者常常陷入选择困境。本文将从底…...
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习) 一、Aspose.PDF 简介二、说明(⚠️仅供学习与研究使用)三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...
基于 TAPD 进行项目管理
起因 自己写了个小工具,仓库用的Github。之前在用markdown进行需求管理,现在随着功能的增加,感觉有点难以管理了,所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD,需要提供一个企业名新建一个项目&#…...
android13 app的触摸问题定位分析流程
一、知识点 一般来说,触摸问题都是app层面出问题,我们可以在ViewRootImpl.java添加log的方式定位;如果是touchableRegion的计算问题,就会相对比较麻烦了,需要通过adb shell dumpsys input > input.log指令,且通过打印堆栈的方式,逐步定位问题,并找到修改方案。 问题…...
探索Selenium:自动化测试的神奇钥匙
目录 一、Selenium 是什么1.1 定义与概念1.2 发展历程1.3 功能概述 二、Selenium 工作原理剖析2.1 架构组成2.2 工作流程2.3 通信机制 三、Selenium 的优势3.1 跨浏览器与平台支持3.2 丰富的语言支持3.3 强大的社区支持 四、Selenium 的应用场景4.1 Web 应用自动化测试4.2 数据…...
elementUI点击浏览table所选行数据查看文档
项目场景: table按照要求特定的数据变成按钮可以点击 解决方案: <el-table-columnprop"mlname"label"名称"align"center"width"180"><template slot-scope"scope"><el-buttonv-if&qu…...
AI语音助手的Python实现
引言 语音助手(如小爱同学、Siri)通过语音识别、自然语言处理(NLP)和语音合成技术,为用户提供直观、高效的交互体验。随着人工智能的普及,Python开发者可以利用开源库和AI模型,快速构建自定义语音助手。本文由浅入深,详细介绍如何使用Python开发AI语音助手,涵盖基础功…...
