加载规范工具选项

vkconfig 脚本的加载规范工具可用于为加载流式传输数据的 COPY 语句提供参数。

语法

$ vkconfig load-spec {--create | --read | --update | --delete} [--load-spec spec‑name] [other‑options...]
--create

创建新的负载规范,不能与 ‑‑delete‑‑read‑‑update 一起使用。

--read
输出调度程序中定义的加载规范的当前设置。此输出采用 JSON 格式。不能与 ‑‑create‑‑delete‑‑update 配合使用。

默认情况下,此选项会输出调度程序中定义的所有加载规范。您可以通过向这些选项提供一个值或逗号分隔的值列表来限制输出:

  • --load-spec

  • --filters

  • --uds-kv-parameters

  • --parser

  • --message-max-bytes

  • --parser-parameters

vkconfig 脚本仅输出与您提供的值匹配的加载规范配置。

您可以在这些选项中使用 LIKE 通配符。有关使用通配符的详细信息,请参阅 LIKE 谓词

--update

更新现有的 Set Snippet Variable Value in Topic。不能与 --create--delete--read 配合使用。

--delete

删除 Set Snippet Variable Value in Topic。不能与 --create--read--update 配合使用。

\--load-spec spec‑name
要对其执行操作的复制加载规范的唯一名称。--create--update--delete 需要使用此选项。
--dump

当您将此选项与 --read 选项一起使用时,vkconfig 会输出用来检索数据的 Vertica 查询,而不是输出数据本身。如果您想从 Vertica 中访问数据而无需通过 vkconfig,则此选项很有用。如果不与 --read 一起使用,此选项无效。

\--filters "filter‑name"
包含要在 COPY 语句中使用的所有 UDFilter 的 Vertica FILTER 链。有关筛选器的详细信息,请参考解析自定义格式
\--message-max-bytes max‑size

指定 Kafka 协议批处理消息的最大大小(以字节为单位)。

默认值: 25165824

\--new-load-spec new‑name
现有加载规范的新唯一名称。需要使用 --update 参数。
\--parser-parameters "key=value[,...]"
提供给 --parser 参数中指定的解析器的参数列表。在使用 Vertica 本机解析器时,调度程序会将这些参数传递给 COPY 语句,然后转而将其传递给解析器。
\--parser parser‑name
标识要用于指定目标的 Vertica UDParser。此解析器在调度程序为加载数据而运行的 COPY 语句中使用。如果使用的是 Vertica 本机解析器,则提供给 --parser-parameters 选项的值将传递给 COPY 语句。

默认值: KafkaParser

\--uds-kv-parameters key=value[,...]
用户定义的源的键值对的逗号分隔列表。
--validation-type {ERROR|WARN|SKIP}
将对创建或更新后的加载规范执行的验证指定为以下值之一:
  • ERROR:如果 vkconfig 无法验证加载规范,则取消配置或创建。这是默认设置。

  • WARN:如果验证失败,则继续执行任务,但会显示警告。

  • SKIP:不执行验证。

已重命名自 --skip-validation

请参阅常用 vkconfig 脚本选项以了解所有 vkconfig 工具中提供的选项。

示例

以下示例显示如何使用加载规范实用程序选项。

创建加载规范 Streamspec1

$ /opt/vertica/packages/kafka/bin/vkconfig load-spec --create --load-spec Streamspec1 --conf myscheduler.conf

将加载规范 Streamspec1 重命名为 Streamspec2

$ /opt/vertica/packages/kafka/bin/vkconfig load-spec --update --load-spec Streamspec1 \
                                                     --new-load-spec Streamspec2 \
                                                     --conf myscheduler.conf

更新加载规范 Filterspec 以使用 KafkaInsertLengths 筛选器和自定义解密筛选器:

$ /opt/vertica/packages/kafka/bin/vkconfig load-spec --update --load-spec Filterspec \
                                                     --filters "KafkaInsertLengths() DecryptFilter(parameter=Key)" \
                                                     --conf myscheduler.conf

读取加载规范 streamspec1 的当前设置:

$ vkconfig load-spec --read --load-spec streamspec1 --conf weblog.conf
{"load_spec":"streamspec1", "filters":null, "parser":"KafkaParser",
"parser_parameters":null, "load_method":"TRICKLE", "message_max_bytes":null,
"uds_kv_parameters":null}