我写了一个自定义的 Streamsets 起源。一些记录包含像 é 或 ë 这样的字符。在运行我的自动化测试时,我可以验证数据是否按预期作为 SDC 记录列表发出。
但是,当我在 dockerized Streamsets Data Collector 上的管道中使用我的自定义源时,所有这些特殊字符都显示在 UI(预览)中并作为“?”推送到我的目标。
Streamsets 是否解释了我的来源的输出并应用了一些字符编码?
我写了一个自定义的 Streamsets 起源。一些记录包含像 é 或 ë 这样的字符。在运行我的自动化测试时,我可以验证数据是否按预期作为 SDC 记录列表发出。
但是,当我在 dockerized Streamsets Data Collector 上的管道中使用我的自定义源时,所有这些特殊字符都显示在 UI(预览)中并作为“?”推送到我的目标。
Streamsets 是否解释了我的来源的输出并应用了一些字符编码?
问题根本不在于自定义源或 Streamsets,而是 Docker 容器本身的问题。我继承的官方 Streamsets 容器基于 Alpine Linux。默认情况下没有安装语言环境支持,所以诀窍是自己添加它。
这篇文章帮助我将它安装在我的容器中并配置容器。之后,一切都按预期工作。