Xml Functions(XML 函数)

文章目录


原文:Apache Spark SQL --- Xml Functions

本分类按照 Spark SQL 官方目录函数顺序整理,共 12 个函数。


1、from_xml

语法

sql 复制代码
from_xml(xmlStr, schema[, options])

说明

按照指定 Schema 解析 XML 字符串,返回 STRUCT 值。

示例

sql 复制代码
> SELECT from_xml('<p><a>1</a><b>0.8</b></p>', 'a INT, b DOUBLE');
  {"a":1,"b":0.8}

引入版本: 4.0.0

官方条目

2、schema_of_xml

语法

sql 复制代码
schema_of_xml(xml[, options])

说明

推断 XML 字符串的 Schema,以 DDL 格式返回。

示例

sql 复制代码
> SELECT schema_of_xml('<p><a>1</a></p>');
  STRUCT<a: BIGINT>

引入版本: 4.0.0

官方条目

3、to_xml

语法

sql 复制代码
to_xml(expr[, options])

说明

将 STRUCT 值转换为 XML 字符串。

示例

sql 复制代码
> SELECT to_xml(named_struct('a', 1, 'b', 2));
  <ROW><a>1</a><b>2</b></ROW>

引入版本: 4.0.0

官方条目

4、xpath

语法

sql 复制代码
xpath(xml, xpath)

说明

返回 XML 中满足 XPath 表达式的节点值组成的字符串数组。

示例

sql 复制代码
> SELECT xpath('<a><b>b1</b><b>b2</b><b>b3</b><c>c1</c><c>c2</c></a>','a/b/text()');
  ["b1","b2","b3"]

引入版本: 2.0.0

官方条目

5、xpath_boolean

语法

sql 复制代码
xpath_boolean(xml, xpath)

说明

XPath 表达式求值为 TRUE 或找到匹配节点时返回 TRUE。

示例

sql 复制代码
> SELECT xpath_boolean('<a><b>1</b></a>','a/b');
  true

引入版本: 2.0.0

官方条目

6、xpath_double

语法

sql 复制代码
xpath_double(xml, xpath)

说明

计算 XPath 并返回 DOUBLE,未匹配时返回 0,匹配值非数字时返回 NaN。

示例

sql 复制代码
> SELECT xpath_double('<a><b>1</b><b>2</b></a>', 'sum(a/b)');
  3.0

引入版本: 2.0.0

官方条目

7、xpath_float

语法

sql 复制代码
xpath_float(xml, xpath)

说明

计算 XPath 并返回 FLOAT,未匹配时返回 0,匹配值非数字时返回 NaN。

示例

sql 复制代码
> SELECT xpath_float('<a><b>1</b><b>2</b></a>', 'sum(a/b)');
  3.0

引入版本: 2.0.0

官方条目

8、xpath_int

语法

sql 复制代码
xpath_int(xml, xpath)

说明

计算 XPath 并返回 INT,未匹配或匹配值非数字时返回 0。

示例

sql 复制代码
> SELECT xpath_int('<a><b>1</b><b>2</b></a>', 'sum(a/b)');
  3

引入版本: 2.0.0

官方条目

9、xpath_long

语法

sql 复制代码
xpath_long(xml, xpath)

说明

计算 XPath 并返回长整数,未匹配或匹配值非数字时返回 0。

示例

sql 复制代码
> SELECT xpath_long('<a><b>1</b><b>2</b></a>', 'sum(a/b)');
  3

引入版本: 2.0.0

官方条目

10、xpath_number

语法

sql 复制代码
xpath_number(xml, xpath)

说明

计算 XPath 并返回 DOUBLE,未匹配时为 0,匹配值非数字时为 NaN。

示例

sql 复制代码
> SELECT xpath_number('<a><b>1</b><b>2</b></a>', 'sum(a/b)');
  3.0

引入版本: 2.0.0

官方条目

11、xpath_short

语法

sql 复制代码
xpath_short(xml, xpath)

说明

计算 XPath 并返回短整数,未匹配或匹配值非数字时返回 0。

示例

sql 复制代码
> SELECT xpath_short('<a><b>1</b><b>2</b></a>', 'sum(a/b)');
  3

引入版本: 2.0.0

官方条目

12、xpath_string

语法

sql 复制代码
xpath_string(xml, xpath)

说明

返回与 XPath 表达式匹配的首个 XML 节点的文本内容。

示例

sql 复制代码
> SELECT xpath_string('<a><b>b</b><c>cc</c></a>','a/c');
  cc

引入版本: 2.0.0

官方条目

相关推荐
isNotNullX11 小时前
仓储管理最全框架:6大流程、8项指标、10个管理动作、12个常见问题
大数据·人工智能
国科安芯13 小时前
把接口变成观测量:CANFD收发器状态可观测性驱动的星上故障检测隔离与恢复方法
大数据·人工智能·物联网·卫星·抗辐射·通信芯片·载荷
玩美数据14 小时前
海外市场数据服务常用术语与名词解释权威指南
大数据·人工智能
武子康17 小时前
Qwen-Drive 的 91.4 分,究竟选中了什么?
大数据·人工智能·agent
演艺大赏17 小时前
NiFi 集群长期运维:并发线程、content 仓库、日志与漏洞面
大数据
freejackman21 小时前
【工程化】从“单兵作战”到“多引擎架构”:基于门面模式的重构实战
大数据·数据库·hive·sql·测试工具·设计模式·架构
字节跳动数据平台1 天前
火山引擎知识引擎VeKnow进化之路(上):从“人有数可用”到“AI有智可循”
大数据
Flynn Liang1 天前
Apache Superset 重要特性详解(三):语义层 / 权限 / 缓存 / 嵌入的实战最佳实践(2026 版)
大数据·clickhouse·数据可视化·架构设计·superset·数据分析平台
小田学Python2 天前
工具调用:让 Agent 从“说”到“做”
大数据·大模型·agent·ai工具·deepseek