如何在不启用动态分区的情况下为Kinesis Firehose指定JSON对象分隔符
Kinesis Data Firehose 无动态分区下的分隔符配置方案
结论先行:不启用动态分区时,Firehose本身没有直接在控制台或配置项里设置分隔符的入口,但有两种内置方案可以替代生产者手动追加分隔符的操作:
方案1:通过Firehose数据转换(Lambda)实现
这是最直接的内置解决方案。你可以在Firehose配置中开启「数据转换」功能,关联一个AWS Lambda函数,在Lambda逻辑里给每条传入的记录自动追加你需要的分隔符(比如\n)。这种方式不需要修改生产者代码,完全依托Firehose的扩展能力完成处理。方案2:针对特定输出目标的格式配置
如果你的输出目标是S3、Redshift等服务,部分场景下可以利用目标端的格式设置间接实现。比如输出到S3时选择Parquet/ORC列式存储格式,Firehose会自动处理数据分隔;但如果是CSV等文本格式,不开启动态分区的话确实没有直接配置分隔符的选项,这时还是推荐方案1。
需要注意的是,这两种方案都是Firehose官方支持的内置能力,不需要你在生产者侧做任何代码修改。
内容的提问来源于stack exchange,提问作者mhmtersy
相关产品推荐
相关产品推荐

