用于 Azure Blob 存储的 Kafka 连接器
Posted
技术标签:
【中文标题】用于 Azure Blob 存储的 Kafka 连接器【英文标题】:Kafka Connector for Azure Blob Storage 【发布时间】:2016-12-17 01:14:00 【问题描述】:我需要将推送到 Kafka 的消息存储在深层存储中。我们正在使用 Azure 云服务,所以我认为 Azure Blob 存储可能是一个更好的选择。我想使用 Kafka Connect 的接收器连接器 API 将数据推送到 Azure Blob。 Kafka 文档大多建议使用 HDFS 导出数据,但在这种情况下,我需要一个运行 Hadoop 的 Linux VM,我猜这会很昂贵。我的问题是 Azure Blob 存储是存储 JSON 对象的合适选择,而构建自定义接收器连接器是这种情况下的合理解决方案?
【问题讨论】:
至于自定义sink,我觉得还可以。目前,Azure Blob 存储没有官方接收器。如果您想要其他解决方案,可以尝试使用 Apache Flume(Kafka 源和 Azure Sink),请参阅此链接以供参考:blogs.msdn.microsoft.com/bigdatasupport/2014/03/18/… 【参考方案1】:自定义接收器连接器绝对有效。 Kafka Connect 的设计绝对是为了让您可以插入连接器。事实上,连接器的开发是完全联合的。 Confluent 的 JDBC 和 HDFS 连接器首先实现仅仅是因为这两个用例的流行,但还有更多(我们保留了我们知道的连接器列表here。
关于 Azure blob 存储是否合适,您提到了 JSON 对象。我认为您唯一需要考虑的是对象的大小以及 Azure 存储是否能够很好地处理对象的大小和数量。我不确定 Azure 存储的特性,但在许多其他对象存储系统中,您可能需要将许多对象聚合到单个 blob 中以获得大量对象的良好性能(即,您可能需要支持许多 JSON 对象的文件格式)。
【讨论】:
【参考方案2】:如果现在有人碰到这个问题,你应该知道现在有一个kafka connect sink for azure blob storage
【讨论】:
您可以在没有许可证密钥的情况下使用此连接器进行 30 天的试用期。 30 天后,此连接器在 Confluent 企业许可下可用。以上是关于用于 Azure Blob 存储的 Kafka 连接器的主要内容,如果未能解决你的问题,请参考以下文章
C# MVC Web 应用服务连接到 Azure 存储 Blob
将 DataBricks 连接到 Azure Blob 存储
无法使用 InteractiveBrowserCredential 连接到 Azure Blob 存储
使用 Java 连接到 Azure Blob 存储服务时出错(状态代码 405,UnsupportedHttpVerb)