kafka-scanner

High Level Kafka Scanner

  • Owner: scrapinghub/kafka-scanner
  • Platform:
  • License:: BSD 3-Clause "New" or "Revised" License
  • Category::
  • Topic:
  • Like:
    2
      Compare:

Github stars Tracking Chart

High Level Kafka Scanner

Installation::

pip install kafka-scanner

Features:

  • based on kafka-python <https://github.com/mumrah/kafka-python/commits/v1.3.1>_ library
  • reverse reading of a kafka topic in batches
  • deduplication by key
  • provides fake kafka-python consumer/client for mocking when testing code that uses this library classes

Two classes are provided:

  • KafkaScanner - reverse scan feature. Because the particular usage of the inverse logic, this class doesn't
    commit offsets (and so doesn't support consumer group). It always start from the latest offsets
    down to the lowest offsets.
  • KafkaScannerDirect - direct scan.

Check classes docstrings for parameters and more information

Basic example

.. code:: python

from kafka_scanner import KafkaScanner
KAFKA_BROKERS = ['kafka1.example.com:9092', 'kafka2.example.com:9092', 'kafka3.example.com:9092']

scanner = KafkaScanner(KAFKA_BROKERS, <topic name>, partitions=[<num partition>])
batches = scanner.scan_topic_batches()
for b in batches:
    for m in b:
        do_my_thing(m)

SSL example

Set the ssl configs in a dict ssl_configs and pass it to the scanner constructor.

.. code:: python

from kafka_scanner import KafkaScanner
KAFKA_BROKERS = ['kafka1.example.com:9093', 'kafka2.example.com:9093', 'kafka3.example.com:9093']

ssl_configs = {
    'ssl_cafile': '/path/to/ca.crt',
    'ssl_certfile': '/path/to/client.crt',
    'ssl_keyfile': '/path/to/client.key',
}
scanner = KafkaScanner(KAFKA_BROKERS, <topic name>, partitions=[<num partition>], ssl_configs=ssl_configs)
...

Main metrics

Overview
Name With Ownerscrapinghub/kafka-scanner
Primary LanguagePython
Program languagePython (Language Count: 1)
Platform
License:BSD 3-Clause "New" or "Revised" License
所有者活动
Created At2015-08-05 15:22:44
Pushed At2017-09-29 14:10:15
Last Commit At2017-09-29 11:09:21
Release Count18
Last Release Name0.3.4 (Posted on 2017-09-29 11:09:52)
First Release Name0.1.0 (Posted on 2016-07-22 17:57:15)
用户参与
Stargazers Count19
Watchers Count107
Fork Count5
Commits Count178
Has Issues Enabled
Issues Count1
Issue Open Count0
Pull Requests Count6
Pull Requests Open Count0
Pull Requests Close Count1
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private