我需要把传给Kafka的信息储存在一个深储藏室里。我们正在使用azure云服务,所以我认为azure blob存储可能是一个更好的选择。我想使用kafka connect的sink connector api将数据推送到azure blob。kafka文档主要建议hdfs导出数据,但是,在这种情况下,我需要一个运行hadoop的linux虚拟机,我猜这将是昂贵的。我的问题是azureblob存储是存储json对象的合适选择,而构建一个自定义接收器连接器是解决这种情况的合理方案?
我需要把传给Kafka的信息储存在一个深储藏室里。我们正在使用azure云服务,所以我认为azure blob存储可能是一个更好的选择。我想使用kafka connect的sink connector api将数据推送到azure blob。kafka文档主要建议hdfs导出数据,但是,在这种情况下,我需要一个运行hadoop的linux虚拟机,我猜这将是昂贵的。我的问题是azureblob存储是存储json对象的合适选择,而构建一个自定义接收器连接器是解决这种情况的合理方案?
2条答案
按热度按时间ghg1uchk1#
如果现在有人碰到这个问题,您应该知道现在有一个用于azure blob存储的kafka连接接收器
envsm3lx2#
一个定制的Flume连接器肯定工作。Kafka连接是绝对设计,让你可以插件连接器。实际上,连接器开发是完全联合的。confluent的jdbc和hdfs连接器最初是由于这两个用例的流行而实现的,但是还有更多的连接器(我们在这里保留了一个我们知道的连接器列表)。
至于azure blob存储是否合适,您提到了json对象。我认为您唯一需要考虑的是对象的大小,以及azure存储是否能够很好地处理对象的大小和数量。我不确定azure存储的特性,但在许多其他对象存储系统中,您可能需要将许多对象聚合到一个blob中,以获得大量对象的良好性能(即,您可能需要支持许多json对象的文件格式)。