kinesis-kafka-connector | connector based on Kafka Connect
kandi X-RAY | kinesis-kafka-connector Summary
kandi X-RAY | kinesis-kafka-connector Summary
The Kafka-Kinesis-Connector is a connector to be used with Kafka Connect to publish messages from Kafka to Amazon Kinesis Streams or Amazon Kinesis Firehose. Kafka-Kinesis-Connector for Firehose is used to publish messages from Kafka to one of the following destinations: Amazon S3, Amazon Redshift, or Amazon Elasticsearch Service and in turn enabling near real time analytics with existing business intelligence tools and dashboards. Amazon Kinesis Firehose has ability to transform, batch, archive message onto S3 and retry if destination is unavailable. Kafka-Kinesis-Connector for Kinesis is used to publish messages from Kafka to Amazon Kinesis Streams. Kafka-Kinesis-Connector can be executed on on-premise nodes or EC2 machines. It can be executed in standalone mode as well as distributed mode.
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
- Put sink record in batch
- Method to perform PutRecord operation with specified record list
- Method to put records
- Puts records in batch
- Put sink records into kinesis
- Check for an earlier put exception
- Validates that outstanding records in the producer has remaining data
- Parse the given value into a byte buffer
- Initialization method
- Creates an IAM credentials provider
- Returns the kinesis producer configuration
- Initialize the handler
- Validates the delivery stream
- Returns the Kafka version
- Opens a Kafka producer
- Get task configurations
- Destroys all Kafka partitions
- Stops the kinesis producers
- Sends flush to Kafka
- Initialize the BO
- Returns a list of task configurations
- Initialize metrics
- Returns the version
kinesis-kafka-connector Key Features
kinesis-kafka-connector Examples and Code Snippets
Community Discussions
Trending Discussions on kinesis-kafka-connector
QUESTION
I am creating a Dataframe from a kafka topic using spark streaming. I want to write the Dataframe into a Kinesis Producer. I understand that there is no official API for this as of now. But there are multiple APIs available over the internet , but sadly, none of them worked for me. Spark version : 2.2 Scala : 2.11
I tried using https://github.com/awslabs/kinesis-kafka-connector and build the jar. But getting errors due to conflicting package names between this jar and spark API. Please help.
########### Here is the code for others: ...ANSWER
Answered 2019-Jul-09 at 16:05Kafka Connect is a service to which you can POST your connector specifications (kinesis in this case), which then takes care of running the connector. It supports quite a few transformations as well while processing the records. Kafka Connect plugins are not intended to be used with Spark applications.
If your use case requires you to do some business logic while processing the records, then you could go with either Spark Streaming or Structured Streaming approach.
If you want to take Spark based approach, below are the 2 options I can think of.
Use Structured Streaming. You could use a Strucuted streaming connector for Kinesis. You can find one here. There may be others too. This is the only stable and open source connector I am aware of. You can find an example for using Kinesis as a sink here.
Use Kinesis Producer Library or aws-java-sdk-kinesis library to publish records from your Spark Streaming application. Using KPL is a preferred approach here. You could do
mapPartitions
and create a Kinesis client per partition and publish the records using these libraries. There are plenty of examples in AWS docs for these 2 libraries.
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install kinesis-kafka-connector
You can use kinesis-kafka-connector like any standard Java library. Please include the the jar files in your classpath. You can also use any IDE and you can run and debug the kinesis-kafka-connector component as you would do with any other Java program. Best practice is to use a build tool that supports dependency management such as Maven or Gradle. For Maven installation, please refer maven.apache.org. For Gradle installation, please refer gradle.org .
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page