add-datalake-consumer

Ingest RabbitMQ event data into Azure Data Lake as partitioned Parquet files.

Updated Aug 23, 2026
One-click install
npx skills add https://github.com/Edgame2/castiel2 --skill add-datalake-consumer
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: add-datalake-consumer
Source: https://github.com/Edgame2/castiel2/tree/main/.cursor/skills/add-datalake-consumer
Command: npx skills add https://github.com/Edgame2/castiel2 --skill add-datalake-consumer

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Event consumer that subscribes to RabbitMQ and writes to Azure Data Lake (Parquet). Pattern: logging’s DataLakeCollector for risk.evaluated (BI_SALES_RISK_IMPLEMENTATION_PLAN §3.5, §9.1). BI Sales Risk: Paths and Parquet columns MUST match documentation/requirements/BI_SALES_RISK_DATA_LAKE_LAYOUT.md (§2.1 risk.evaluated, §2.2 ml_outcomes, §4 config).

Core Features & Use Cases

  • Subscribes to RabbitMQ queues and bindings to fill Data Lake rows with carefully mapped Parquet schema.
  • Writes Parquet files partitioned by year/month/day to Azure Blob storage, enabling efficient BI and ML data access.
  • Supports buffering and batching to optimize write throughput and cost. Use Case: Store risk.evaluated events for BI dashboards and ML pipelines, enabling time-partitioned analytics.

Quick Start

Configure data_lake and rabbitmq in config/default.yaml and start the server to run the Data Lake consumer.

Frequently Asked Questions about add-datalake-consumer

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I ingest events from RabbitMQ into Azure Data Lake as Parquet files?

You can ingest RabbitMQ events into Azure Data Lake by configuring a consumer that subscribes to queues, maps the payload to a Parquet schema, and writes partitioned files to Blob storage with buffering and batching for optimized throughput.

What is the best way to partition Parquet event data in Azure Data Lake for BI dashboards?

Partitioning Parquet event data by year, month, and day in Azure Data Lake enables efficient time-based queries for BI dashboards and ML workflows, allowing analytics engines to scan only relevant date partitions during retrieval.

Can I use this event ingestion pattern for storing risk evaluation logs in a scalable Data Lake?

Yes, this event ingestion pattern is designed for logging pipelines where risk.evaluated events must be stored in a scalable Data Lake, mapping specific Parquet columns to support downstream BI dashboards and ML outcome analysis.

How do I configure a RabbitMQ consumer to write to Azure Blob storage with a specific Parquet schema?

You configure the RabbitMQ and data_lake settings in your default.yaml file, define the consumer class to map queue messages to the required Parquet schema, and start the server to run the DataLakeCollector continuously.

Does event ingestion to Azure Data Lake support batching to optimize write throughput and cost?

Yes, the event ingestion process supports buffering and batching to optimize write throughput and cost, accumulating RabbitMQ events before committing them as Parquet files to Azure Blob storage.

What are the limitations of using Parquet partitioning for event data ingestion in Azure Data Lake?

Parquet partitioning by year, month, and day requires strict adherence to documented schema layouts for risk events, meaning any unmapped columns or incorrect path configurations will break downstream BI dashboard and ML data access pipelines.