Python kafka.SimpleConsumer() Examples
The following are 6
code examples of kafka.SimpleConsumer().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
kafka
, or try the search function
.
Example #1
Source File: consumer.py From yelp_kafka with Apache License 2.0 | 6 votes |
def connect(self): """ Connect to kafka and create a consumer. It uses config parameters to create a kafka-python KafkaClient and SimpleConsumer. """ # Instantiate a kafka client connected to kafka. self.client = KafkaClient( self.config.broker_list, client_id=self.config.client_id ) # Create a kafka SimpleConsumer. self.kafka_consumer = SimpleConsumer( client=self.client, topic=self.topic, partitions=self.partitions, **self.config.get_simple_consumer_args() ) self.log.debug( "Connected to kafka. Topic %s, partitions %s, %s", self.topic, self.partitions, ','.join(['{0} {1}'.format(k, v) for k, v in six.iteritems(self.config.get_simple_consumer_args())]) ) self.kafka_consumer.provide_partition_info()
Example #2
Source File: kafka_random_reader.py From exporters with BSD 3-Clause "New" or "Revised" License | 5 votes |
def __init__(self, *args, **kwargs): import kafka super(KafkaRandomReader, self).__init__(*args, **kwargs) brokers = self.read_option('brokers') group = self.read_option('group') topic = self.read_option('topic') client = kafka.KafkaClient(map(bytes, brokers)) # TODO: Remove this comments when next steps are decided. # If resume is set to true, then child should not load initial offsets # child_loads_initial_offsets = False if settings.get('RESUME') else True # self.consumer = kafka.MultiProcessConsumer(client, group, topic, num_procs=1, # child_loads_initial_offsets=child_loads_initial_offsets, # auto_commit=False) self.consumer = kafka.SimpleConsumer(client, group, topic, auto_commit=False) self.decompress_fun = zlib.decompress self.processor = self.create_processor() self.partitions = client.get_partition_ids_for_topic(topic) self.logger.info( 'KafkaRandomReader has been initiated. ' 'Topic: {}. Group: {}'.format(self.read_option('topic'), self.read_option('group'))) self.logger.info('Running random sampling') self._reservoir = self.fill_reservoir() self.logger.info('Random sampling completed, ready to process batches')
Example #3
Source File: api.py From flasfka with MIT License | 5 votes |
def get_kafka_consumer(group, topic): client = get_kafka_client() return kafka.SimpleConsumer( client, group, topic, iter_timeout=app.config["CONSUMER_TIMEOUT"] )
Example #4
Source File: consumer.py From yelp_kafka with Apache License 2.0 | 5 votes |
def get_message(self, block=True, timeout=0.1): """Get message from kafka. It supports the same arguments of get_message in kafka-python SimpleConsumer. :param block: If True, the API will block till at least a message is fetched. :type block: boolean :param timeout: If block is True, the function will block for the specified time (in seconds). If None, it will block forever. :returns: a Kafka message :rtype: Message namedtuple, which consists of: partition number, offset, key, and message value """ fetched_message = self.kafka_consumer.get_message(block, timeout) if fetched_message is None: # get message timed out returns None return None else: partition, kafka_message = fetched_message return Message( partition=partition, offset=kafka_message[0], key=kafka_message[1].key, value=kafka_message[1].value, )
Example #5
Source File: conftest.py From mysql_streamer with Apache License 2.0 | 5 votes |
def get_consumer(containers, topic): kafka = containers.get_kafka_connection() group = str('replication_handler_itest') return SimpleConsumer(kafka, group, topic)
Example #6
Source File: kafka_docker.py From data_pipeline with Apache License 2.0 | 5 votes |
def setup_capture_new_messages_consumer(topic): """Seeks to the tail of the topic then returns a function that can consume messages from that point. """ kafka = KafkaClient(get_config().cluster_config.broker_list) group = str('data_pipeline_clientlib_test') consumer = SimpleConsumer(kafka, group, topic, max_buffer_size=_ONE_MEGABYTE) consumer.seek(0, 2) # seek to tail, 0 is the offset, and 2 is the tail yield consumer kafka.close()