Awesome ClickHouseETL and Data Processing

jitsucom/bulker

⭐ 224 Go repository created 2022-06-22

Bulker is a robust service designed for bulk-loading large volumes of semi-structured data into various databases and data warehouses, including Redshift, Snowflake, BigQuery, ClickHouse, Postgres, and MySQL. It leverages Kafka internally to ensure reliable data streaming and batching. The core functionality of Bulker involves receiving JSON objects via an HTTP endpoint, flattening nested JSON structures, and managing database schemas automatically. This means it dynamically creates or updates tables and columns in the destination database based on the incoming data structure, with intelligent type inference or explicit type hints provided in the JSON. Bulker supports both streaming and batching modes for data ingestion. Streaming mode sends data to the database as soon as it arrives, suitable for low event rates, while batching mode accumulates data and sends it in bulk to optimize performance and reduce the load on the database, which is especially important for cloud data warehouses. It also offers deduplication capabilities by primary key to avoid duplicate records. The service is horizontally scalable, stateless, and cloud-native, making it easy to deploy in containerized environments like Kubernetes. It is also available as a Go library for embedding into applications. Bulker supports a wide range of destinations beyond traditional databases, including cloud storage services like S3 and GCS. Key features include JSON flattening, schema management, implicit and explicit typing, batching optimized for each database (e.g., COPY command for Postgres, batch files for BigQuery), and reliability through Kafka queuing. The project is part of the Jitsu open-source data integration platform ecosystem. Overall, Bulker simplifies the complex process of ingesting and managing semi-structured data in modern data warehouses, providing a scalable, reliable, and efficient solution for data engineers and developers.

https://github.com/jitsucom/bulker

batchingbigquerybulk-loadingclickhousecloud-nativedata-engineeringdata-integrationdata-warehousesdatawarehousededuplicationdockeretletl-pipelineexplicit-typinggcshorizontal-scalingimplicit-typingingestionjson-flatteningkafkamysqlpipelinepostgresprimary-keyredshifts3schema-managementsnowflakestreaming

Also in ETL and Data Processing

PeerDB-io/peerdb

PeerDB is a high-performance, PostgreSQL-optimized ETL tool that enables fast, reliable, and cost-effective streaming of data from Postgres to data warehouses, queues, and storage engines, with native integration in ClickHouse Cloud.

ytsaurus/ytsaurus

YTsaurus is a scalable, fault-tolerant open-source big data platform featuring MapReduce, SQL engine, NoSQL store, and integration with ClickHouse for fast analytics.

FrigadeHQ/trench

Trench is an open-source, production-ready analytics infrastructure built on ClickHouse and Kafka for scalable, real-time event tracking and analytics with GDPR compliance.

apache/gluten

Gluten is a middle layer that offloads JVM-based SQL engines' execution, such as Spark SQL, to high-performance native engines like ClickHouse and Velox, leveraging vectorized processing for accele...

wgzhao/Addax

Addax is a versatile and extensible open-source ETL tool that supports seamless data transfer between over 20 SQL and NoSQL data sources, including ClickHouse, with easy configuration and deployment options.

zerodha/dungbeetle

DungBeetle is a distributed job server for asynchronously queuing and executing heavy SQL read jobs on MySQL, PostgreSQL, and ClickHouse databases, designed to offload report generation and improve application performance.

ClickHouse/ClickBench

ClickBench is a comprehensive and reproducible benchmark designed to evaluate the performance of analytical databases, including ClickHouse, using realistic workloads derived from real-world web analytics data.

devlive-community/datacap

DataCap is an integrated software platform for data transformation, integration, and visualization, supporting a wide range of data sources including ClickHouse and other major databases.