Export from S3 to Kafka
CloudQuery is an open-source data integration platform that allows you to export data from any source to any destination.
The CloudQuery S3 plugin allows you to sync data from S3 to any destination, including Kafka. It takes only minutes to get started.
S3
This plugin is in preview.
The CloudQuery S3 source plugin reads parquet files and loads them into any supported CloudQuery destination (e.g. PostgreSQL, BigQuery, Snowflake, and more)
cloudquery
v1.1.7
Source
Kafka
This plugin is in preview.
This destination plugin lets you sync data from a CloudQuery source to Kafka in various formats such as CSV, JSON. Each table will be pushed to a separate topic
Table of Contents
MacOS Setup
Step 1. Install CloudQuery
brew install cloudquery/tap/cloudquery
Step 2. Log in to CloudQuery CLI
Logging in is required to use premium plugins and premium tables in open-core plugins.
cloudquery login
Step 3. Configure S3 source plugin
You can find more information about the configuration in the plugin documentation
kind: source
spec:
name: s3
path: cloudquery/s3
registry: cloudquery
version: "v1.1.7"
tables: ["*"]
destinations: ["kafka"]
spec:
# TODO: Update it with the actual spec
bucket: "<BUCKET_NAME>"
region: "<REGION>"
# path_prefix: "" # optional. Only sync files with this prefix
# concurrency: 50 # optional. Number of files to sync in parallel. Default: 50
Step 4. Configure Kafka destination plugin
You can find more information about the configuration in the plugin documentation
kind: destination
spec:
name: "kafka"
path: "cloudquery/kafka"
registry: "cloudquery"
version: "v3.3.8"
write_mode: "append"
spec:
# required - list of brokers to connect to
brokers: ["<broker-host>:<broker-port>"]
# optional - if connecting via SASL/PLAIN, the username and password to use. If not set, no authentication will be used.
sasl_username: "${KAFKA_SASL_USERNAME}"
sasl_password: "${KAFKA_SASL_PASSWORD}"
format: "json" # options: parquet, json, csv
format_spec:
# CSV-specific parameters:
# delimiter: ","
# skip_header: false
# Optional parameters
# compression: "" # options: gzip
# client_id: cq-destination-kafka
# verbose: false
# batch_size: 1000
Step 5. Run Sync
cloudquery sync s3.yml kafka.yml