Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
io.github.marionete-data:marionete-kafka-connect-ftp
Advanced tools
Lenses offers SQL (for data browsing and Kafka Streams), Kafka Connect connector management, cluster monitoring and more.
You can find more on lenses.io
A collection of components to build a real time ingestion pipeline.
Please take a moment and read the documentation and make sure the software prerequisites are met!!
Connector | Type | Description | Docs |
---|---|---|---|
AzureDocumentDb | Sink | Kafka connect Azure DocumentDb sink to subscribe to write to the cloud Azure Document Db. | Docs |
BlockChain | Source | Kafka connect Blockchain source to subscribe to Blockchain streams and write to Kafka. | Docs |
Bloomberg | Source | Kafka connect source to subscribe to Bloomberg streams and write to Kafka. | Docs |
Cassandra | Source | Kafka connect Cassandra source to read Cassandra and write to Kafka. | Docs |
*Cassandra | Sink | Certified DSE Kafka connect Cassandra sink task to write Kafka topic payloads to Cassandra. | Docs |
Coap | Source | Kafka connect Coap source to read from IoT Coap endpoints using Californium. | Docs |
Coap | Sink | Kafka connect Coap sink to write kafka topic payload to IoT Coap endpoints using Californium. | Docs |
Elastic 6 | Sink | Kafka connect Elastic Search sink to write payloads to Elastic Search 6.x w. tcp or http | Docs |
FTP/HTTP | Source | Kafka connect FTP and HTTP source to write file data into Kafka topics. | Docs |
Hazelcast | Sink | Kafka connect Hazelcast sink to write Kafka topic payloads to Hazelcast. | Docs |
HBase | Sink | Kafka connect HBase sink to write Kafka topic payloads to HBase. | Docs |
Hive | Source | Kafka connect Hive source to read data from Hive/HDFS into Kafka. | Docs |
Hive | Sink | Kafka connect Hive sink to read data Kafka and load into Hive/HDFS | Docs |
InfluxDb | Sink | Kafka connect InfluxDb sink to write Kafka topic payloads to InfluxDb. | |
Kudu | Sink | Kafka connect Kudu sink to write Kafka topic payloads to Kudu. | Docs |
JMS | Source | Kafka connect JMS source to write from JMS to Kafka topics. | Docs |
JMS | Sink | Kafka connect JMS sink to write Kafka topic payloads to JMS. | Docs |
MongoDB | Sink | Kafka connect MongoDB sink to write Kafka topic payloads to MongoDB. | Docs |
MQTT | Source | Kafka connect MQTT source to write data from MQTT to Kafka. | Docs |
MQTT | Sink | Kafka connect MQTT sink to write data from Kafka to MQTT. | Docs |
Pulsar | Source | Kafka connect Pulsar source to write data from Pulsar to Kafka. | Docs |
Pulsar | Sink | Kafka connect Pulsar sink to write data from Kafka to Pulsar. | Docs |
Redis | Sink | Kafka connect Redis sink to write Kafka topic payloads to Redis. | Docs |
ReThinkDB | Source | Kafka connect RethinkDb source subscribe to ReThinkDB changefeeds and write to Kafka. | Docs |
ReThinkDB | Sink | Kafka connect RethinkDb sink to write Kafka topic payloads to RethinkDb. | Docs |
VoltDB | Sink | Kafka connect Voltdb sink to write Kafka topic payloads to Voltdb. | Docs |
2.0.0
Deprecated: * Druid Sink (not scala 2.12 compatible) * Elastic Sink (not scala 2.12 compatible) * Elastic5 Sink(not scala 2.12 compatible)
Redis
Cassandra
ReThinkDB
FTP Source
MQTT Source
1.2.7
Features
MQTT Source
Support dynamic topic names in Kafka from a wildcard subscription.
Example: INSERT INTO $
SELECT * FROM /mqttSourceTopic/+/test
If the MQTT topic is /mqttSourceTopic/A/test this Will result in topics in kafka mqttSourceTopic_A_test
Cassandra (source)
Support for sending JSON formatted message (with string key) to kafka topic.
Sample KCQL would be like:
INSERT INTO <topic> SELECT <fields> FROM <column_family> PK <PK_field> WITHFORMAT JSON WITHUNWRAP INCREMENTALMODE=<mode> WITHKEY(<key_field>)
This would send field's values as JSON object to the said topic.
Note that in kafka connect properties one needs to set key.converter
and value.converter
as org.apache.kafka.connect.storage.StringConverter
Added a new INCREMENTALMODE called dsesearchtimestamp that will make a DSE Search queries using Solr instead of a native Cassandra query.
Instead of the native query:
SELECT a, b, c, d FROM keyspace.table WHERE pkCol > ? AND pkCol <= ? ALLOW FILTERING; We will have now the query with Solr on the dsesearchtimestamp INCREMENTALMODE:
SELECT a, b, c, d FROM keyspace.table WHERE solr_query=?; Where the solr_query will be something like this:
pkCol:{2020-03-23T15:02:21Z TO 2020-03-23T15:30:12.989Z]
AzureDocumentDB
Bug fixes
JMS Source
Allow for tasks parallelization and how the connector tasks parallelization is decided.
Changes:
tasks.max
value provided if the user connect.jms.scale.type
. Available values are kcql
and default
.
If KCQL
is provided it will be based on the number of KCQL statements written, otherwise it will be driven based on the connector tasks.max
Kudu Sink
Handle null decimal types correctly
Mongo Sink
Handle decimal types
1.2.4 Bug fixes
JMS Source
Ack the JMS messages was not always possible. Also there was an issue with producing the messages to Kafka out of order from the JMS queue. Changes:
1.2.3 Features
Bug fixes
1.2.2 Features
Bug fixes
1.2.1
1.2.0
1.1.0
connect.mongodb.batch.size
is deprecatedconnect.mapping.collection.to.json
to treat maps, list, sets as json when inserting into Cassandraconnect.rethink.batch.size
is deprecatedINSERT INTO targetTopic SELECT * FROM mqttTopic ... WITHREGEX=`$THE_REGEX`
connect.elastic.retry.interval
to elastic5 and elastic6DEFAULT UNSET
to be added on insert. Omitted columns from maps default to null.
Alternatively, if set UNSET
, pre-existing value will be preservedconnect.cassandra.batch.size
is deprecated .1.0.0
0.4.0
ftp.protocol
introduced, either ftp (default) or ftps.0.3.0
0.2.6
connect.progress.enabled
which will periodically report log messages processedconnect.documentdb.db
to connect.documentdb.db
connect.documentdb.database.create
to connect.documentdb.db.create
connect.cassandra.source.kcql
to connect.cassandra.kcql
connect.cassandra.source.timestamp.type
to connect.cassandra.timestamp.type
connect.cassandra.source.import.poll.interval
to connect.cassandra.import.poll.interval
connect.cassandra.source.error.policy
to connect.cassandra.error.policy
connect.cassandra.source.max.retries
to connect.cassandra.max.retries
connect.cassandra.source.retry.interval
to connect.cassandra.retry.interval
connect.cassandra.sink.kcql
to connect.cassandra.kcql
connect.cassandra.sink.error.policy
to connect.cassandra.error.policy
connect.cassandra.sink.max.retries
to connect.cassandra.max.retries
connect.cassandra.sink.retry.interval
to connect.cassandra.retry.interval
connect.coap.bind.port
to connect.coap.port
connect.coap.bind.port
to connect.coap.port
connect.coap.bind.host
to connect.coap.host
connect.coap.bind.host
to connect.coap.host
connect.mongo.database
to connect.mongo.db
connect.mongo.sink.batch.size
to connect.mongo.batch.size
connect.druid.sink.kcql
to connect.druid.kcql
connect.druid.sink.conf.file
to connect.druid.kcql
connect.druid.sink.write.timeout
to connect.druid.write.timeout
connect.elastic.sink.kcql
to connect.elastic.kcql
connect.hbase.sink.column.family
to connect.hbase.column.family
connect.hbase.sink.kcql
to connect.hbase.kcql
connect.hbase.sink.error.policy
to connect.hbase.error.policy
connect.hbase.sink.max.retries
to connect.hbase.max.retries
connect.hbase.sink.retry.interval
to connect.hbase.retry.interval
connect.influx.sink.kcql
to connect.influx.kcql
connect.influx.connection.user
to connect.influx.username
connect.influx.connection.password
to connect.influx.password
connect.influx.connection.database
to connect.influx.db
connect.influx.connection.url
to connect.influx.url
connect.kudu.sink.kcql
to connect.kudu.kcql
connect.kudu.sink.error.policy
to connect.kudu.error.policy
connect.kudu.sink.retry.interval
to connect.kudu.retry.interval
connect.kudu.sink.max.retries
to connect.kudu.max.reties
connect.kudu.sink.schema.registry.url
to connect.kudu.schema.registry.url
connect.redis.connection.password
to connect.redis.password
connect.redis.sink.kcql
to connect.redis.kcql
connect.redis.connection.host
to connect.redis.host
connect.redis.connection.port
to connect.redis.port
connect.rethink.source.host
to connect.rethink.host
connect.rethink.source.port
to connect.rethink.port
connect.rethink.source.db
to connect.rethink.db
connect.rethink.source.kcql
to connect.rethink.kcql
connect.rethink.sink.host
to connect.rethink.host
connect.rethink.sink.port
to connect.rethink.port
connect.rethink.sink.db
to connect.rethink.db
connect.rethink.sink.kcql
to connect.rethink.kcql
connect.jms.user
to connect.jms.username
connect.jms.source.converters
to connect.jms.converters
connect.jms.converters
and replace my kcql withConverters
connect.jms.queues
and replace my kcql withType QUEUE
connect.jms.topics
and replace my kcql withType TOPIC
connect.mqtt.source.kcql
to connect.mqtt.kcql
connect.mqtt.user
to connect.mqtt.username
connect.mqtt.hosts
to connect.mqtt.connection.hosts
connect.mqtt.converters
and replace my kcql withConverters
connect.mqtt.queues
and replace my kcql withType=QUEUE
connect.mqtt.topics
and replace my kcql withType=TOPIC
connect.hazelcast.sink.kcql
to connect.hazelcast.kcql
connect.hazelcast.sink.group.name
to connect.hazelcast.group.name
connect.hazelcast.sink.group.password
to connect.hazelcast.group.password
connect.hazelcast.sink.cluster.members
tp connect.hazelcast.cluster.members
connect.hazelcast.sink.batch.size
to connect.hazelcast.batch.size
connect.hazelcast.sink.error.policy
to connect.hazelcast.error.policy
connect.hazelcast.sink.max.retries
to connect.hazelcast.max.retries
connect.hazelcast.sink.retry.interval
to connect.hazelcast.retry.interval
connect.volt.sink.kcql
to connect.volt.kcql
connect.volt.sink.connection.servers
to connect.volt.servers
connect.volt.sink.connection.user
to connect.volt.username
connect.volt.sink.connection.password
to connect.volt.password
connect.volt.sink.error.policy
to connect.volt.error.policy
connect.volt.sink.max.retries
to connect.volt.max.retries
connect.volt.sink.retry.interval
to connect.volt.retry.interval
0.2.5 (8 Apr 2017)
withunwrap
timestamp
in the Cassandra Source for timestamp tracking.0.2.4 (26 Jan 2017)
SELECT * FROM influx-topic WITHTIMESTAMP sys_time() WITHTAG(field1, CONSTANT_KEY1=CONSTANT_VALUE1, field2,CONSTANT_KEY2=CONSTANT_VALUE1)
ALL
. Use connect.influx.consistency.level
to set it to ONE/QUORUM/ALL/ANYconnect.influx.sink.route.query
was renamed to connect.influx.sink.kcql
0.2.3 (5 Jan 2017)
Struct
, Schema.STRING
and Json
with schema in the Cassandra, ReThinkDB, InfluxDB and MongoDB sinks.export.query.route
to sink.kcql
.import.query.route
to source.kcql
.STOREAS
so specify target sink types, e.g. Redis Sorted Sets, Hazelcast map, queues, ringbuffers.Requires gradle 6.0 to build.
To build
gradle compile
To test
gradle test
To create a fat jar
gradle shadowJar
You can also use the gradle wrapper
./gradlew shadowJar
To view dependency trees
gradle dependencies # or
gradle :kafka-connect-cassandra:dependencies
To build a particular project
gradle :kafka-connect-elastic5:build
To create a jar of a particular project:
gradle :kafka-connect-elastic5:shadowJar
We'd love to accept your contributions! Please use GitHub pull requests: fork the repo, develop and test your code, semantically commit and submit a pull request. Thanks!
FAQs
marionete-stream-reactor
We found that io.github.marionete-data:marionete-kafka-connect-ftp demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.