Presto | UUID 函数
Created|Updated|编程文摘
|Post Views:
uuid() → uuid
返回一个伪随机生成的 UUID(第四版本)。
示例
1 | select uuid(); |
(END)
Author: Johnson Lin
Copyright Notice: All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.
Related Articles

2023-05-23
Presto | 数据类型
Presto 有一套内置的数据类型,如下所述。其他类型可以由插件提供。 注意:连接器不需要支持所有类型。有关支持类型的详细信息,请参阅连接器文档。 Boolean 布尔型BOOLEAN 此类型表示布尔值 true 和 false。 Integer 整数TINYINT 存储空间为 8 位的有符号整数,可以存储的值的范围从 $-2^{(8-1)}$ 到 $2^{(8-1)}-1$,即最小值为 -128,最大值为 127。 SMALLINT 存储空间为 16 位的有符号整数,可以存储的值的范围从 $-2^{(16-1)}$ 到 $2^{(16-1)}-1$,即最小值为 -32768,最大值为 32767。 INTEGER 存储空间为 32 位的有符号整数,可以存储的值的范围从 $-2^{(32-1)}$ 到 $2^{(32-1)}-1$,即最小值为 -2147483648,最大值为2147483647。 INT 名称也可用于此类型。 BIGINT 存储空间为 64 位的有符号整数,可以存储的值的范围从 $-2^{(64-1)}$ 到 $2^{(64-1)}-1$,即最小值为 -92...

2023-05-27
Presto | JSON 函数
is_json_scalar(json) → boolean判断 json 是否为标量(即 JSON 数字、JSON 字符串、true、false 或 null)。 示例 1 1SELECT is_json_scalar(JSON '"aaa"'); 1234 _col0------- true(1 row) 示例 2 1SELECT is_json_scalar(JSON '{"x": 1, "y": 2}'); 1234 _col0------- false(1 row) json_array_contains(json, value) → boolean判断 value 是否存在于 json(一个包含 JSON 数组的字符串)中。 示例 1 判断整数 1 是否包含在 JSON 整数数组 [1, 2, 3] 中: 1SELECT json_array_contains(JSON '[1, 2, 3]', 1); 1234 _col0---...

2023-05-19
Presto | 概述
Presto 是一个分布式 SQL 查询引擎,专为查询大数据而设计。它可以在一个或多个异构的数据源上查询大数据集。 别误解,Presto 不是数据库尽管 Presto 被许多社区成员称为数据库,但我们必须明确 Presto 的定位。 Presto 理解 SQL,但并不提供标准数据库的全部功能。 Presto 不是通用的关系型数据库,也不是 MySQL、PostgreSQL 或 Oracle 等数据库的替代品。 Presto 的设计目的也不是在线事务处理(OLTP)。这一点也适用于许多其他为数据仓库或分析优化的数据库。 简而言之,Presto 的重点在于使用大数据环境提供快速的交互式数据分析和报告。如果你需要事务支持、持久化存储或 OLTP 工作负载的支持,Presto 可能不满足你的需求。 Presto 角色Presto 提供一种分布式查询方式来高效查询和分析大数据。它专注于低延迟的交互式分析查询而非事务处理。 Presto 是一款利用分布式查询高效查询大数据的工具。如果你处理 TB 级或 PB 级的数据,您很可能使用与 Hadoop 和 HDFS 交互的工具。Presto ...

2023-05-02
Presto | URL 相关函数
提取相关函数URL 提取功能可以从 HTTP URLs(或任何符合 RFC 2396 的有效 URI)中提取各组成部分。支持以下语法: 1[protocol:][//host[:port]][path][?query][#fragment] 所提取的组成部分不包含 URI 语法分隔符,例如:: 或 ? 。 url_extract_fragment(url) → varchar该函数用以返回 url 地址所包含的,用以指示不同文档片段的片段标识符。 即上文提到的 [#fragment] 组成部分,指的是 # 字符之后的内容,不包含 # 符号本身。 url_extract_host(url) → varchar该函数用以解析 url 中包含的地址,并返回其主机名部分。 url_extract_parameter(url, name) → varchar该函数用以解析 url 中的查询字符串,并返回第一个名为 name 的参数的值。参数提取遵循 RFC 1866 中规定的方式。 url_extract_path(url) → varchar该函数用于解析 url 中包含的地址,并返回其...

2023-05-15
Presto | 转换函数
Presto 可以隐式地将数字和字符值转换为适当的数据类型,前提是这种转换是可行的。然而,Presto 不会在字符类型和数字类型间隐式转换。例如,一个期望获得 varchar 类型结果的查询不会自动将 bigint 类型的值转换为对应的 varchar 类型。 如果有需要,值可以通过显式转换来变换为特定的数据类型。 转换函数cast(value AS type) → type 可以通过显式转换将一个值变换为特定的数据类型。这可以用于将 varchar 类型的值转换为数字类型,反之也可以。 try_cast(value AS type) → type 与 cast() 函数相似,不同之处在于如果转换失败,它会返回 null 值。 数据大小parse_presto_data_size(string) 可以将格式为 value unit 的字符串解析为一个数字,其中: value 为小数,表示 unit 值的数值部分; unit 为数据大小的单位,如B、KB、MB、GB等。 parse_presto_data_size 函数支持以下数据大小单位: 单位 描述 值 B B...
2022-08-24
在Presto中实现Hive LATERAL VIEW EXPLODE
我是 Presto 新手,我们公司数据仓库中有一张表(表名:dwd_user_country),记录了用户到访过的国家与地区。这里为简化问题描述,将该表结构抽象为两个字段:user_id 和 countries,其中 countries 字段的值采用英文逗号连接用户到访过的国家与地区。 表数据如下表所示: user_id countries 26841018 中国,马来西亚,美国,瑞士,泰国,冰岛 现在,我需要从该表中统计每个国家或地区的到访人数,在 Hive 语法中,我可以使用 LATERAL VIEW EXPLODE 将该表的数据转成以下格式,再按 country 字段做 GROUP BY 统计。如果现在是使用 Presto 该怎么做呢? user_id country 26841018 中国 26841018 马来西亚 26841018 美国 26841018 瑞士 26841018 泰国 26841018 冰岛 Hive 查询 首先使用 split 函数将 countries 字段分割成数组,再使用 l...