ClickHouse ↔ Flat File Ingestion Tool allows users to easily upload CSV files to ClickHouse, export data from ClickHouse to CSV, and preview files before uploading. It supports secure connections via basic authentication or JWT tokens, enabling seamless data ingestion and export between ClickHouse and flat files.
A simple web-based data ingestion tool that enables bidirectional data movement between a ClickHouse database and local flat files (CSV). It includes a basic user interface, supports JWT authentication for ClickHouse, and lets users select columns for ingestion.
- 🔐 Connect to ClickHouse using host, user, and JWT token
- 📤 Ingest flat file (CSV) into ClickHouse
- 📥 Preview and ingest data from ClickHouse to flat file (upcoming)
- ✅ UI to select source type and columns
- 📄 Upload & preview CSV files
- 🧮 Displays number of ingested records
- Backend: Node.js (Express)
- Frontend: HTML, CSS, JavaScript
- Database Client: ClickHouse client for Node.js
- File I/O:
csv-parser,express-fileupload - Authentication: JWT passed via ClickHouse connection
- Node.js installed
- A running ClickHouse instance (local or cloud)
- A
.csvfile to test ingestion
git clone https://github.com/yourusername/clickhouse-flatfile-ingestion.git
cd clickhouse-flatfile-ingestion
npm install