如何使用python编程创建kafka的topic

系统 168 0
阅读更多

You can programmatically create topics either using  kafka-python  or  confluent_kafka  client which is a lightweight wrapper around librdkafka.

Using  kafka-python

              
                
                  from
                
                
                   kafka
                
                
                  .
                
                
                  admin 
                
                
                  import
                
                
                  KafkaAdminClient
                
                
                  ,
                
                
                  NewTopic
                
                
                  
admin_client 
                
                
                  =
                
                
                  KafkaAdminClient
                
                
                  (
                
                
                  bootstrap_servers
                
                
                  =
                
                
                  "localhost:9092"
                
                
                  ,
                
                
                   client_id
                
                
                  =
                
                
                  'test'
                
                
                  )
                
                
                  

topic_list 
                
                
                  =
                
                
                  []
                
                
                  
topic_list
                
                
                  .
                
                
                  append
                
                
                  (
                
                
                  NewTopic
                
                
                  (
                
                
                  name
                
                
                  =
                
                
                  "example_topic"
                
                
                  ,
                
                
                   num_partitions
                
                
                  =
                
                
                  1
                
                
                  ,
                
                
                   replication_factor
                
                
                  =
                
                
                  1
                
                
                  ))
                
                
                  
admin_client
                
                
                  .
                
                
                  create_topics
                
                
                  (
                
                
                  new_topics
                
                
                  =
                
                
                  topic_list
                
                
                  ,
                
                
                   validate_only
                
                
                  =
                
                
                  False
                
                
                  )
                
              
            

Using  confluent_kafka

              
                
                  from
                
                
                   confluent_kafka
                
                
                  .
                
                
                  admin 
                
                
                  import
                
                
                  AdminClient
                
                
                  ,
                
                
                  NewTopic
                
                
                  
admin_client 
                
                
                  =
                
                
                  AdminClient
                
                
                  ({
                
                
                  "bootstrap_servers"
                
                
                  :
                
                
                  "localhost:9092"
                
                
                  })
                
                
                  

topic_list 
                
                
                  =
                
                
                  []
                
                
                  
topic_list
                
                
                  .
                
                
                  append
                
                
                  (
                
                
                  NewTopic
                
                
                  (
                
                
                  "example_topic"
                
                
                  ,
                
                
                  1
                
                
                  ,
                
                
                  1
                
                
                  ))
                
                
                  
admin_client
                
                
                  .
                
                
                  create_topics
                
                
                  (
                
                
                  topic_list
                
                
                  )
                
              
            
 

更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请请扫描上面二维码支持博主1元、2元、5元等您想捐的金额吧,狠狠点击下面给点支持吧

发表我的评论
最新评论 总共0条评论