支持的格式
功能
一次性摄取
持续摄取
词典序
file1、file2 和 file3 的文件会依次被摄取;但如果向存储桶中新增一个 file 0,它将被忽略,因为该文件名在词典序上并不大于最后一个已摄取的文件。
在这种模式下,GCS ClickPipe 会先对指定路径中的所有文件执行初始加载,然后按可配置的时间间隔轮询新文件 (默认每 30 秒一次) 。无法从某个特定文件或某个时间点开始摄取——ClickPipes 始终都会加载指定路径中的所有文件。
任意顺序
公共存储桶不支持无序模式。该模式要求使用服务账号身份验证,并且需要一个连接到该存储桶的 Google Cloud Pub/Sub 订阅。
OBJECT_FINALIZE 通知。对于先前已处理过的文件、不匹配该路径的文件,或其他类型事件的任何消息,都会被忽略。无法从某个特定文件或时间点开始摄取——ClickPipes 始终会加载所选路径中的所有文件。
文件模式匹配
data-2024-*.csv,而不是 *.csv) 。
支持的模式
| 模式 | 描述 | 示例 | 匹配结果 |
|---|---|---|---|
? | 精确匹配一个字符 (不包括 /) | data-?.csv | data-1.csv, data-a.csv, data-x.csv |
* | 匹配零个或多个字符 (不包括 /) | data-*.csv | data-1.csv, data-001.csv, data-report.csv, data-.csv |
** 递归 | 匹配零个或多个字符 (包括 /) 。支持递归遍历目录。 | logs/**/error.log | logs/error.log, logs/2024/error.log, logs/2024/01/error.log |
https://bucket.s3.amazonaws.com/folder/*.csvhttps://bucket.s3.amazonaws.com/logs/**/data.jsonhttps://bucket.s3.amazonaws.com/file-?.parquethttps://bucket.s3.amazonaws.com/data-2024-*.csv.gz
不支持的模式
| 模式 | 描述 | 示例 | 替代方案 |
|---|---|---|---|
{abc,def} | 大括号展开 - 备选项 | {logs,data}/file.csv | 为每个 path 分别创建 ClickPipes。 |
{N..M} | 数值范围展开 | file-{1..100}.csv | 使用 file-*.csv 或 file-?.csv。 |
https://bucket.s3.amazonaws.com/{documents-01,documents-02}.jsonhttps://bucket.s3.amazonaws.com/file-{1..100}.csvhttps://bucket.s3.amazonaws.com/{logs,metrics}/data.parquet
精确一次语义
虚拟列
_file 虚拟列加入列映射列表。_file 虚拟列包含源对象的文件名,可用于查询哪些文件已处理。
访问控制
权限
GCS 存储桶
storage.objects.list 和 `storage.objects.get IAM 权限,允许 ClickPipes 列出并拉取指定存储桶中的对象。
Pub/Sub 订阅
roles/pubsub.subscriber— 用于接收并确认消息。roles/pubsub.viewer— 用于获取订阅元数据。
身份验证
服务账号
HMAC 凭据
Credentials。然后,分别在 Access key 和 Secret key 中填写访问密钥 (例如 GOOGTS7C7FUP3AIRVJTE2BCDKINBTES3HC2GY5CBFJDCQ2SYHV6A6XXVTJFSA) 和秘密密钥 (例如 bGoa+V7g/yqDXvKRqq+JTFn4uQZbPiQJo4pf9RzJ) 。
请按照本指南创建带有 HMAC 密钥的服务账号。
网络访问
-
对于基于 IP 的访问控制,你的 GCS 存储桶的 IP 过滤规则 必须允许 此处 列出的 ClickPipes 服务区域静态 IP,以及 ClickHouse Cloud 服务的静态 IP。要获取你的 ClickHouse Cloud 区域的静态 IP,请打开终端并运行:
高级设置
| 设置 | 默认值 | 说明 |
|---|---|---|
Max insert bytes | 10GB | 单个插入批次中可处理的字节数。 |
Max file count | 100 | 单个插入批次中可处理的最大文件数。 |
Max threads | auto(3) | 用于文件处理的最大并发线程数。 |
Max insert threads | 1 | 用于文件处理的最大并发插入线程数。 |
Min insert block size bytes | 1GB | 可插入表中的块最小字节数。 |
Max download threads | 4 | 最大并发下载线程数。 |
Object storage polling interval | 30s | 配置将数据插入 ClickHouse 集群前的最长等待时间。 |
Parallel distributed insert select | 2 | Parallel distributed insert select 设置。 |
Parallel view processing | false | 是否启用以并发而非顺序方式推送到已附加视图。 |
Use cluster function | true | 是否在多个节点间并行处理文件。 |
扩缩容
已知限制
文件大小
兼容性
https://storage.googleapis.com/ 存储桶前缀 (而非 gs://) ,并使用 HMAC 密钥 进行身份验证。