

 从补丁 198 开始，Amazon Redshift 将不再支持创建新的 Python UDF。现有的 Python UDF 将继续正常运行至 2026 年 6 月 30 日。有关更多信息，请参阅[博客文章](https://www.amazonaws.cn/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

# HLL\_CREATE\_SKETCH 函数
<a name="r_HLL_CREATE_SKETCH"></a>

HLL\_CREATE\_SKETCH 函数返回封装输入表达式值的 HLLSKETCH 数据类型。HLL\_CREATE\_SKETCH 函数适用于任何数据类型，并忽略 NULL 值。如果表中没有行或所有行都为 NULL，则生成的草图没有 `{"version":1,"logm":15,"sparse":{"indices":[],"values":[]}}` 之类的索引值对。

## 语法
<a name="r_HLL_CREATE_SKETCH-synopsis"></a>

```
HLL_CREATE_SKETCH (aggregate_expression)
```

## 参数
<a name="r_HLL_CREATE_SKETCH-argument"></a>

 *aggregate\_expression*   
将值提供给聚合的任何有效表达式（如列名称）。将忽略 NULL 值。此函数支持除 HLLSKETCH、GEOMETRY、GEOGRAPHY 和 VARBYTE 之外的任何数据类型作为输入。

## 返回类型
<a name="r_HLL_CREATE_SKETCH-return-type"></a>

HLL\_CREATE\_SKETCH 函数返回一个 HLLSKETCH 值。

## 示例
<a name="r_HLL_CREATE_SKETCH-examples"></a>

以下示例返回表 `a_table` 中列 `an_int` 的 HLLSKETCH 类型。在导入、导出或打印草图时，JSON 对象用于表示稀疏的 HyperLogLog 草图。字符串表示形式（Base64 格式）用于表示密集的 HyperLogLog 草图。

```
CREATE TABLE a_table(an_int INT);
INSERT INTO a_table VALUES (1), (2), (3), (4);

SELECT hll_create_sketch(an_int) AS sketch FROM a_table;
sketch
-------------------------------------------------------------------------------------------------------
{"version":1,"logm":15,"sparse":{"indices":[20812342,20850007,22362299,47158030],"values":[1,2,1,1]}}
(1 row)
```