大数据开发之Hive案例篇8-解析XML
文章目录
- 一. 问题描述
- 二. 解决方案
- 2.1 官方文档
- 2.2 XML格式不规范
一. 问题描述
今天接到一个新需求,hive表里面有个字段存储的是XML类型数据
数据格式:
<a><b>bb</b><c>cc</c>
</a>
二. 解决方案
2.1 官方文档
遇到不懂的问题,首先上官方文档查询相关文档,然后照着官网的demo改改,一般就能解决问题了
官方文档地址:
https://cwiki.apache.org/confluence/display/Hive/LanguageManual+XPathUDF
丰富的XML相关函数及测试用例
代码:
-- 求路径 a/b下面的值
SELECT xpath_string ('<a><b>bb</b><c>cc</c></a>', 'a/b') LIMIT 1 ;
测试记录:
hive> > SELECT xpath_string ('<a><b>bb</b><c>cc</c></a>', 'a/b') LIMIT 1 ;
OK
bb
Time taken: 1.477 seconds, Fetched: 1 row(s)
hive>
2.2 XML格式不规范
因为Hive不支持XML数据格式,后端写入数据库存的是一个String类型,此时格式就没那么规范了,会有一些特殊字符
解析xml报错,原来是有特殊字符
https://stackoverflow.com/questions/730133/what-are-invalid-characters-in-xml
xml不符合规范的字符
https://blog.csdn.net/u014589856/article/details/107151252

通过正则表达式删除特殊字符:
- 下面几个是常用的特殊字符
@&$#%
regexp_replace(the_gifts,'[@&$#%]','')
- 只保留 大小写字母 数字 及中文 以及 xml标签
regexp_replace(the_gifts,'(^[a-z]+|[A-Z]+|[0-9]+|[\\u4E00-\\u9FA5]+[</>])','')
相关文章:
大数据开发之Hive案例篇8-解析XML
文章目录 一. 问题描述二. 解决方案2.1 官方文档2.2 XML格式不规范 一. 问题描述 今天接到一个新需求,hive表里面有个字段存储的是XML类型数据 数据格式: <a><b>bb</b><c>cc</c> </a>二. 解决方案 2.1 官方文档 遇到不懂的…...
Sentinel降级规则
1.降级规则简介 官方文档 熔断降级概述 除了流量控制以外,对调用链路中不稳定的资源进行熔断降级也是保障高可用的重要措施之一。一个服务常常会调用别的模块,可能是另外的一个远程服务、数据库,或者第三方 API 等。例如,支付的…...
基于非靶向和靶向代谢组学分析婴幼儿血管瘤的氨基酸代谢
文章标题:Integrated nontargeted and targeted metabolomics analyses amino acids metabolism in infantile hemangioma 发表期刊:Frontiers in Oncology 影响因子:5.738 作者单位:四川大学华西医院 百趣提供服务…...
程序员困局:去大城市进大厂却买不了房,回老家又没有高薪工作…
对于在外打拼的程序员来说,难的是进大厂,而不是买不起房。 进大厂的程序员,能不能买得起房? 进大厂的程序员的薪资,还是相当可观的。以阿里P6为例,年薪50万,到手40万左右,刨去10万…...
数字化转型下企业 IT 发展趋势-大企业自主研发,中小企业上云
在当今数字化转型的时代,企业IT发展面临着许多挑战和机遇。对于大中小型企业而言,数字化转型已成为实现竞争优势和业务增长的关键因素之一。在这个过程中,大企业和中小企业采取了不同的策略来推动其IT发展,其中大企业更加注重自主…...
【Go语言从入门到实战】面向对象编程篇
面向对象编程 Go语言的面向对象编程和其他语言有非常大的差别。 Go 是一种面向对象的语言吗? 是和不是。虽然 Go 有类型和方法,并允许面向对象的编程风格,但没有类型层次结构(继承)。Go 中的“接口”概念提供了一种不…...
代码随想录算法训练营第四十五天 | 力扣 70. 爬楼梯(进阶), 322. 零钱兑换, 279.完全平方数
70. 爬楼梯(进阶) 题目 70. 爬楼梯 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 改为:一步一个台阶,两个台阶,三个台阶ÿ…...
dvwa靶场通关(三)
第三关:CSRF(跨站请求伪造) csrf跨站请求伪造:是一种对网站的恶意利用。尽管听起来像跨站脚本,但它与xss非常不同,xss利用站点内受信任用户,而csrf则通过伪造来自受信任用户的请求来利用受信任…...
【计算机图形学】理论考核回顾
写在前面: 1:题型主要是单选题多选题判断题计算题,题目量居多,一定要合理安排时间。 2:小题由于太琐碎了,遂不回顾,大致都是课件上做过的小题,嗯。 3:后续有时间更新期…...
一文了解国内外电子后视镜(CMS)现行法规标准
摘要: 本文小编分享一篇整合了国内外对CMS的安装及功能性做出要求的相关标准与法规。感兴趣的朋友可以专门去搜索学习。 前言:随着GB15084-2022的即将正式实施,以摄像头屏幕组合取代传统光学后视镜的新一代电子后视镜CMS相关车型将被允许上路…...
LabVIEWCompactRIO 开发指南36 确定“Clock Ticks”或模拟时间
LabVIEWCompactRIO 开发指南36 确定“Clock Ticks”或模拟时间 桌面执行节点可以控制模拟时间,因此开发人员可以使用模拟I/O在开发计算机上执行期间更改关键点的激励。要成功使用此功能,需要测量FPGA VI完成所需的时间,或者需要以直观地知道…...
ESP32 :项目的创建及项目架构解析
一、项目的创建 方式一:基于IDF示例创建 在ESP-IDF中有example示例库,以其中的一个示例为模板创建项目。 1、打开示例库 查看 - 命令面板(也可以按住CtrlShiftP 或 F1) 输入 show examples projects 2…...
TI EDI 项目数据库方案开源介绍
TI EDI 工作流简介 TI EDI到SQL Server示例流具有预配置的端口,用于从TI的EDI集成规范转换以下交易集: 850 采购订单,企业 -> TI855 采购订单确认,TI -> 企业860 采购订单变更,企业 -> TI865 采购订单变更确认,TI -> 企业856 发货通知,TI …...
报表控件FastReport使用指南——使用NuGet包创建PDF文档
FastReport 是功能齐全的报表控件,可以帮助开发者可以快速并高效地为.NET,VCL,COM,ActiveX应用程序添加报表支持,由于其独特的编程原则,现在已经成为了Delphi平台最优秀的报表控件,支持将编程开…...
策略模式-类型统计
文章目录 前言一、策略模式是什么?二、策略模式应用场景三、策略模式优点四、策略模式缺点五、场景案例:类型统计1.项目结构2.UML图解3.代码实现3.1 指标枚举3.2 请求体3.3 响应体3.4.分析统计指标策略3.5.接口3.6.扩展接口3.7.接口实现3.8.控制层 六、P…...
android 12.0app应用安装白名单
1.概述 在12.0定制化开发中,客户需求要实现应用安装白名单功能,在白名单之中的应用可以安装,其他的app不准安装,实现一个 控制app安装的功能,这需要从app安装流程入手就可以实现功能 PMS就是负责管理app安装的,功能就添加在这里就可以了, 2.app应用安装白名单核心代码 …...
android 12.0Launcher3禁止拖动图标到Hotseat
1.概述 在12.0系统Launcher3进行定制化开发中,对于hotseat的开发中,由功能需求要求禁止拖动图标到Hotseat的功能,而拖拽也是在workspace.java中处理的 接下来就从workspace.java 开始找解决的办法 2.Launcher3禁止拖动图标到Hotseat相关代码分析 packages/apps/Launcher3…...
Java阶段三Day03
Java阶段三Day03 文章目录 Java阶段三Day03JavaScript语言JavaScript概述什么是JavaScript语言特点一门编程语言包括哪些内容 语言基础变量JavaScript常用数据类型运算符各种语句如何在HTML页面中引入JavaScript代码方法和页面相关的方法 BOM和DOM什么是BOMwindow对象location对…...
【STM32G431RBTx】备战蓝桥杯嵌入式→决赛试题→第七届
文章目录 前言一、题目二、模块初始化三、代码实现interrupt.h:interrupt.h:main.h:main.h: 四、完成效果五、总结 前言 无 一、题目 二、模块初始化 1.LCD这里不用配置,直接使用提供的资源包就行 2.ADC:开启ADCsingle-ended 3.LED:开启PC8-15,PD2输出模式就行了…...
Java日期时间调整的几种方式
一、Calendar类 我们现在已经能够格式化并创建一个日期对象了,但是我们如何才能设置和获取日期数据的特定部分呢,比如说小时,日,或者分钟? 我们又如何在日期的这些部分加上或者减去值呢? 答案是使用Calendar 类。 Calendar类的…...
终极React-Vis核心组件实战指南:从XYPlot到ArcSeries的可视化开发秘籍
终极React-Vis核心组件实战指南:从XYPlot到ArcSeries的可视化开发秘籍 【免费下载链接】react-vis Data Visualization Components 项目地址: https://gitcode.com/gh_mirrors/re/react-vis react-vis是一个功能强大的Data Visualization Components库&#…...
Gin-JWT安全最佳实践:OAuth 2.0标准与256位密钥配置完整指南
Gin-JWT安全最佳实践:OAuth 2.0标准与256位密钥配置完整指南 【免费下载链接】gin-jwt JWT Middleware for Gin framework 项目地址: https://gitcode.com/gh_mirrors/gi/gin-jwt 在Go语言的Gin框架中实现安全的JWT认证系统需要遵循行业最佳实践。gin-jwt作为…...
7张图看懂Claude Code:从架构图解到工程实现
这篇文章用7张图架构图解的方式,系统讲解Claude Code的工程实现。 为什么要关注Claude Code? 2026年3月31日,Anthropic的Claude Code CLI工具因npm发布包意外暴露了.map文件,导致完整源码泄露。 这虽然说不是一次主动的开源&am…...
中国科技发展与华人贡献解析
中国科技发展与华人贡献解析纵观全球科技发展的壮阔历程,华人力量始终是不可或缺的核心支柱,中国科技的崛起与腾飞,既离不开本土科研工作者的深耕细作,更得益于海外华人的默默坚守与无私奉献。然而,长期以来࿰…...
VLC安卓版隐藏功能大揭秘:这些options参数让你的播放体验飞起
VLC安卓版隐藏功能大揭秘:这些options参数让你的播放体验飞起 作为安卓平台上最强大的开源播放器,VLC的潜力远不止表面看到的那些基础功能。许多用户不知道的是,通过调整options参数,可以彻底改变播放体验——解决卡顿、优化画质、…...
Claude Code 源码泄露,拿来改造 OpenClaw
一场意外的源码泄露,意外地给开源AI助手社区带来了一份珍贵的“研究素材”。Claude Code近51万行源码的暴露,正好可以为OpenClaw的下一阶段发展,提供一个明确的架构升级蓝图。核心功能:自动化定时任务 (Cron)两者都将“时间管理”…...
IDEA查看Maven依赖源码全攻略:从下载失败到源码解析一条龙
IDEA高效查看Maven依赖源码实战指南 在Java开发中,阅读第三方库的源码是提升编码能力的必经之路。但当你满怀期待地点击IDEA中的"Download Sources"按钮时,却可能遭遇各种意外——进度条卡住、报错提示、或者下载完成后依然只能看到.class文件…...
OpenRPA工作项队列管理:实现批量数据处理的最佳实践
OpenRPA工作项队列管理:实现批量数据处理的最佳实践 【免费下载链接】openrpa Free Open Source Enterprise Grade RPA 项目地址: https://gitcode.com/gh_mirrors/op/openrpa OpenRPA作为一款免费开源的企业级RPA自动化工具,其强大的工作项队列管…...
3步掌握TTPLA数据集:从航拍图像到智能电力巡检的完整路径
3步掌握TTPLA数据集:从航拍图像到智能电力巡检的完整路径 【免费下载链接】ttpla_dataset aerial images dataset on transmission towers and power lines 项目地址: https://gitcode.com/gh_mirrors/tt/ttpla_dataset 你是否曾面临这样的困境:…...
AOP 面向切面编程的实现原理
在技术领域,我们常常被那些闪耀的、可见的成果所吸引。今天,这个焦点无疑是大语言模型技术。它们的流畅对话、惊人的创造力,让我们得以一窥未来的轮廓。然而,作为在企业一线构建、部署和维护复杂系统的实践者,我们深知…...
