Welcome to the world of CueLake! If you’re looking to harness the power of SQL to build Extract, Load, and Transform (ELT) pipelines on a data lakehouse, you’re in the right place. In this article, we’ll explore how to get started with CueLake, its features, and troubleshooting tips to help you on your journey.
What is CueLake?
CueLake is designed to make working with data lakehouses easier by letting you write Spark SQL statements in Zeppelin notebooks. You can schedule these notebooks using DAGs (Directed Acyclic Graphs), enabling automatic data manipulation and management.
Getting Started with CueLake
To dive into the CueLake experience, you need to install it using Kubernetes. Here’s how you can set it up:
- Create a namespace (optional). You can install it in the default namespace or any existing one.
Run the following commands in your command-line interface:
kubectl create namespace cuelake
kubectl apply -f https://raw.githubusercontent.com/cuebook/cuelake/main/cuelake.yaml -n cuelake
kubectl port-forward services/lakehouse 8080:80 -n cuelake
Now, open your browser and visit http://localhost:8080 to access the CueLake interface.
Features of CueLake
Let’s explore some of the exciting features CueLake offers:
- Upsert Incremental Data: Automatically merges incremental data using Iceberg’s merge into query.
- Create Views: Easily create views over Iceberg tables.
- Create DAGs: Group your notebooks into workflows and create DAGs to streamline processes.
- Elastically Scale Cloud Infrastructure: Automatically manage Kubernetes resources as needed.
- In-built Scheduler: Schedule your pipelines seamlessly.
- Automated Maintenance: Automatically handle tasks such as expiring snapshots and cleaning old metadata.
- Monitoring: Receive alerts via Slack for any pipeline failures and maintain detailed logs.
- Versioning in GitHub: Manage versions of your Zeppelin notebooks effortlessly.
- Data Security: Ensure your data always remains within your cloud account.
Understanding the Code: An Analogy
Imagine CueLake as a conveyor system in a factory. The SQL statements you write are like worker orders on this conveyor, detailing how items (data) should be processed (transformed).
- **Extract Data:** This is like taking raw materials from the warehouse and placing them onto the conveyor.
- **Load Data:** This involves bringing the materials to the appropriate workstations along that conveyor.
- **Transform Data:** Finally, the workstations act upon those materials based on the orders you have given, shaping them into finished products (views, tables) displayed at the end of the conveyor.
When you want to build workflows using CueLake, it’s similar to coordinating different workstations to work in harmony, ensuring that each part completes its task before passing on to the next.
Troubleshooting and Support
If you encounter any issues while using CueLake, here are some troubleshooting ideas:
- Ensure that Kubernetes is running correctly and that you have the proper permissions to create namespaces.
- Check that the commands you’ve entered are correct.
- For network-related issues, verify that your firewall permits outbound connections to the required ports.
- If problems persist, you may read the documentation or visit the GitHub Discussions for assistance.
For more insights, updates, or to collaborate on AI development projects, stay connected with fxis.ai.
Current Limitations
As with any platform, there are some limitations to be aware of:
- Currently supports AWS S3 as a destination; support for ADLS and GCS is in the roadmap.
- Uses Apache Iceberg as an open table format; Delta support is also in the pipeline.
- Currently employs Celery for scheduling jobs; Airflow support is being considered for future updates.
Conclusion
At fxis.ai, we believe that such advancements are crucial for the future of AI, as they enable more comprehensive and effective solutions. Our team is continually exploring new methodologies to push the envelope in artificial intelligence, ensuring that our clients benefit from the latest technological innovations.
By using CueLake, you can streamline your data operations and unlock the full potential of your data lakehouse. Happy coding!

