# Tutorials

**URL:** https://community.cratedb.com/c/tutorials/28.md

[Latest](https://community.cratedb.com/latest.md) · [Categories](https://community.cratedb.com/categories.md) · [Tags](https://community.cratedb.com/tags.md)

---

## [About the Tutorials category](https://community.cratedb.com/t/about-the-tutorials-category/616)

<div class="topic-metadata">

**Author:** [@proddata](https://community.cratedb.com/u/proddata)\
**Replies:** 0

</div>

Tutorials, How-Tos & Guides written by the community and Crate.io engineers. Feel free to read, follow and contribute your own findings.

---

## [Load testing CrateDB using Locust](https://community.cratedb.com/t/load-testing-cratedb-using-locust/1686)

<div class="topic-metadata">

**Author:** [@Wierd](https://community.cratedb.com/u/Wierd)\
**Replies:** 5\
**Last updated:** [August 13, 2025, 9:04am UTC](https://community.cratedb.com/t/load-testing-cratedb-using-locust/1686 "2025-08-13T09:04:15Z")

</div>

Introduction As with every other database, users want to run performance tests to get a feel for the performance of their workload. CrateDB offers a couple of tools that can be used for specific use cases. For example…

---

## [Setting Azure blob storage as snapshot repository for CrateDB](https://community.cratedb.com/t/setting-azure-blob-storage-as-snapshot-repository-for-cratedb/695)

<div class="topic-metadata">

**Author:** [@proddata](https://community.cratedb.com/u/proddata)\
**Replies:** 2\
**Last updated:** [June 9, 2026, 9:26am UTC](https://community.cratedb.com/t/setting-azure-blob-storage-as-snapshot-repository-for-cratedb/695 "2026-06-09T09:26:55Z")

</div>

Create a new Storage Account in Microsoft Azure Create a new Container in the Storage Account Get you Access keys for the Container (Security + networking \> Access Keys) In your CrateDB Cluster create a new repository Y…

---

## [»Loading data into CrateDB« weekly edition](https://community.cratedb.com/t/loading-data-into-cratedb-weekly-edition/2052)

<div class="topic-metadata">

**Author:** [@amotl](https://community.cratedb.com/u/amotl)\
**Replies:** 6\
**Last updated:** [March 5, 2026, 2:10am UTC](https://community.cratedb.com/t/loading-data-into-cratedb-weekly-edition/2052 "2026-03-05T02:10:56Z")

</div>

Introduction We are currently unlocking data loading into CrateDB using the excellent ingestr toolkit, based on dlt \[1\]. This topic informs about the progress and gives everyone the chance to participate early in the dev…

---

## [Text-to-SQL: Talk to your data using CrateDB, LlamaIndex, and Azure OpenAI](https://community.cratedb.com/t/text-to-sql-talk-to-your-data-using-cratedb-llamaindex-and-azure-openai/1612)

<div class="topic-metadata">

**Author:** [@Marija](https://community.cratedb.com/u/Marija)\
**Replies:** 0\
**Last updated:** [September 29, 2023, 7:50am UTC](https://community.cratedb.com/t/text-to-sql-talk-to-your-data-using-cratedb-llamaindex-and-azure-openai/1612 "2023-09-29T07:50:31Z")

</div>

Introduction LlamaIndex is a data framework for Large Language Models (LLMs). It comes with pre-trained models on massive public datasets such as GPT-4 or Llama 2 and provides an interface to external data sources allo…

---

## [Efficiently loading Parquet files into CrateDB](https://community.cratedb.com/t/efficiently-loading-parquet-files-into-cratedb/2053)

<div class="topic-metadata">

**Author:** [@amotl](https://community.cratedb.com/u/amotl)\
**Replies:** 0\
**Last updated:** [July 14, 2025, 2:00pm UTC](https://community.cratedb.com/t/efficiently-loading-parquet-files-into-cratedb/2053 "2025-07-14T14:00:36Z")

</div>

Hi there, our very own @surister explored methods how to efficiently load Parquet files, comparing different frameworks like pandas or Polars, then elaborating about PyArrow and multi-threading to parallelize converging…

---

## [Create read-only database user by using "GRANT DQL"](https://community.cratedb.com/t/create-read-only-database-user-by-using-grant-dql/2031)

<div class="topic-metadata">

**Author:** [@amotl](https://community.cratedb.com/u/amotl)\
**Replies:** 0\
**Last updated:** [May 17, 2025, 6:45pm UTC](https://community.cratedb.com/t/create-read-only-database-user-by-using-grant-dql/2031 "2025-05-17T18:45:57Z")

</div>

Introduction Data flows in analytical applications like pulling data into business intelligence or visualization tools typically only needs read-only access to database tables and views. CrateDB’s privilege system pro…

---

## [Advanced downsampling with the LTTB algorithm](https://community.cratedb.com/t/advanced-downsampling-with-the-lttb-algorithm/1287)

<div class="topic-metadata">

**Author:** [@hernanc](https://community.cratedb.com/u/hernanc)\
**Replies:** 0\
**Last updated:** [November 10, 2022, 10:48am UTC](https://community.cratedb.com/t/advanced-downsampling-with-the-lttb-algorithm/1287 "2022-11-10T10:48:36Z")

</div>

Introduction Downsampling is the process of transforming data, reducing its resolution so that it requires less space, while preserving some of its basic characteristics so that it is still usable. There are a number …

---

## [Using dbt with CrateDB](https://community.cratedb.com/t/using-dbt-with-cratedb/1566)

<div class="topic-metadata">

**Author:** [@hernanc](https://community.cratedb.com/u/hernanc)\
**Replies:** 0\
**Last updated:** [August 18, 2023, 4:14pm UTC](https://community.cratedb.com/t/using-dbt-with-cratedb/1566 "2023-08-18T16:14:06Z")

</div>

Introduction Dbt \[1\] is a tool for transforming data in data warehouses using Python and SQL. dbt enables data analysts and engineers to transform their data using the same practices that software engineers use to bu…

---

## [Scaling CrateDB clusters up and down to cope with peaks in demand](https://community.cratedb.com/t/scaling-cratedb-clusters-up-and-down-to-cope-with-peaks-in-demand/1314)

<div class="topic-metadata">

**Author:** [@hernanc](https://community.cratedb.com/u/hernanc)\
**Replies:** 0\
**Last updated:** [December 20, 2022, 4:35pm UTC](https://community.cratedb.com/t/scaling-cratedb-clusters-up-and-down-to-cope-with-peaks-in-demand/1314 "2022-12-20T16:35:40Z")

</div>

This content has been migrated.

---

## [How to add new nodes to an existing cluster](https://community.cratedb.com/t/how-to-add-new-nodes-to-an-existing-cluster/1546)

<div class="topic-metadata">

**Author:** [@hernanc](https://community.cratedb.com/u/hernanc)\
**Replies:** 0\
**Last updated:** [July 18, 2023, 10:48am UTC](https://community.cratedb.com/t/how-to-add-new-nodes-to-an-existing-cluster/1546 "2023-07-18T10:48:01Z")

</div>

This content has been migrated.

---

## [Resampling time-series data with DATE\_BIN](https://community.cratedb.com/t/resampling-time-series-data-with-date-bin/1009)

<div class="topic-metadata">

**Author:** [@hammerhead](https://community.cratedb.com/u/hammerhead)\
**Replies:** 5\
**Last updated:** [October 15, 2024, 9:28am UTC](https://community.cratedb.com/t/resampling-time-series-data-with-date-bin/1009 "2024-10-15T09:28:18Z")

</div>

Introduction CrateDB 4.7 adds a new DATE\_BIN function, offering greater flexibility for grouping rows into time buckets. This article will show how to use DATE\_BIN to group rows into time buckets and resample the value…

---

## [Multi-tenancy with CrateDB](https://community.cratedb.com/t/multi-tenancy-with-cratedb/1153)

<div class="topic-metadata">

**Author:** [@Marija](https://community.cratedb.com/u/Marija)\
**Replies:** 0\
**Last updated:** [June 20, 2022, 8:19am UTC](https://community.cratedb.com/t/multi-tenancy-with-cratedb/1153 "2022-06-20T08:19:45Z")

</div>

The multi-tenancy is an architecture in which different tenants share a single software instance. CrateDB does not support the creation of multiple databases and catalogs as some other solutions (e.g., PostgreSQL). How…

---

## [Importing Parquet files into CrateDB using Apache Arrow and SQLAlchemy](https://community.cratedb.com/t/importing-parquet-files-into-cratedb-using-apache-arrow-and-sqlalchemy/1161)

<div class="topic-metadata">

**Author:** [@karynsaz](https://community.cratedb.com/u/karynsaz)\
**Replies:** 0\
**Last updated:** [June 27, 2022, 3:59pm UTC](https://community.cratedb.com/t/importing-parquet-files-into-cratedb-using-apache-arrow-and-sqlalchemy/1161 "2022-06-27T15:59:10Z")

</div>

This tutorial introduces a way to import Parquet files into CrateDB using the Apache Arrow and SQLAlchemy libraries in Python. What is a Parquet file? Apache Parquet is a free and open-source column-oriented data stor…

---

## [Using CrateDB with Tableau](https://community.cratedb.com/t/using-cratedb-with-tableau/1192)

<div class="topic-metadata">

**Author:** [@proddata](https://community.cratedb.com/u/proddata)\
**Replies:** 0\
**Last updated:** [August 19, 2022, 6:48am UTC](https://community.cratedb.com/t/using-cratedb-with-tableau/1192 "2022-08-19T06:48:58Z")

</div>

For using Tableau with CrateDB, install the latest PostgreSQL driver, as detailed in the steps below: Download the Java 8 JDBC driver (e.g. postgresql-42.7.1.jar or newer) from Download | pgJDBC Move the downloaded .ja…

---

## [Sharding and partitioning guide for time-series data](https://community.cratedb.com/t/sharding-and-partitioning-guide-for-time-series-data/737)

<div class="topic-metadata">

**Author:** [@jayeff](https://community.cratedb.com/u/jayeff)\
**Replies:** 0\
**Last updated:** [July 2, 2021, 9:07am UTC](https://community.cratedb.com/t/sharding-and-partitioning-guide-for-time-series-data/737 "2021-07-02T09:07:46Z")

</div>

The goal of this guide is to support you with building a sharding and partitioning strategy for your time series data. Let’s start with your time series data which you want to store in a table in CrateDB. You need to c…

---

## [Data Analysis with Cluvio and CrateDB](https://community.cratedb.com/t/data-analysis-with-cluvio-and-cratedb/1571)

<div class="topic-metadata">

**Author:** [@Matej](https://community.cratedb.com/u/Matej)\
**Replies:** 0\
**Last updated:** [August 24, 2023, 7:07pm UTC](https://community.cratedb.com/t/data-analysis-with-cluvio-and-cratedb/1571 "2023-08-24T19:07:12Z")

</div>

Introduction In this tutorial, we’ll explore how to leverage the power of Cluvio, a modern data analysis platform with CrateDB Cloud as the underlying database. Prerequisites CrateDB Cloud cluster up and running Cluv…

---

## [Connecting to CrateDB from Dapr](https://community.cratedb.com/t/connecting-to-cratedb-from-dapr/660)

<div class="topic-metadata">

**Author:** [@hammerhead](https://community.cratedb.com/u/hammerhead)\
**Replies:** 0\
**Last updated:** [April 27, 2021, 2:07pm UTC](https://community.cratedb.com/t/connecting-to-cratedb-from-dapr/660 "2021-04-27T14:07:09Z")

</div>

This article describes how to connect from Dapr (a cloud-native application runtime environment) to CrateDB. At the time of writing, the steps are identical to a regular PostgreSQL setup. If you are already familiar with…

---

## [Automating export of CrateDB data to S3 using Apache Airflow](https://community.cratedb.com/t/automating-export-of-cratedb-data-to-s3-using-apache-airflow/901)

<div class="topic-metadata">

**Author:** [@Marija](https://community.cratedb.com/u/Marija)\
**Replies:** 0\
**Last updated:** [November 19, 2021, 1:23pm UTC](https://community.cratedb.com/t/automating-export-of-cratedb-data-to-s3-using-apache-airflow/901 "2021-11-19T13:23:51Z")

</div>

Written by Niklas Schmidtmer and Marija Selakovic Introduction This article is the first in a series of articles demonstrating how to effectively use Apache Airflow with CrateDB. In this part, we first introduce Apach…

---

## [Running CrateDB as a service on Windows](https://community.cratedb.com/t/running-cratedb-as-a-service-on-windows/1003)

<div class="topic-metadata">

**Author:** [@hammerhead](https://community.cratedb.com/u/hammerhead)\
**Replies:** 0\
**Last updated:** [February 3, 2022, 4:08pm UTC](https://community.cratedb.com/t/running-cratedb-as-a-service-on-windows/1003 "2022-02-03T16:08:26Z")

</div>

When following the self-hosted CrateDB installation method for Windows, CrateDB can be started with .\\bin\\crate.bat. This implies that the process is attached to the current command line session and doesn’t run in the ba…

---

## [Setup HiveMQ using CrateDB as a consumer](https://community.cratedb.com/t/setup-hivemq-using-cratedb-as-a-consumer/1761)

<div class="topic-metadata">

**Author:** [@Wierd](https://community.cratedb.com/u/Wierd)\
**Replies:** 0\
**Last updated:** [April 26, 2024, 2:34pm UTC](https://community.cratedb.com/t/setup-hivemq-using-cratedb-as-a-consumer/1761 "2024-04-26T14:34:21Z")

</div>

What is HiveMQ? HiveMQ is the proven enterprise MQTT platform because it’s reliable under real-world stress and built for flexibility, security, and scale. HiveMQ website HiveMQ Install guide Goal of this blog The goa…

---

## [Using Apache Hop with CrateDB](https://community.cratedb.com/t/using-apache-hop-with-cratedb/1754)

<div class="topic-metadata">

**Author:** [@hernanc](https://community.cratedb.com/u/hernanc)\
**Replies:** 1\
**Last updated:** [April 15, 2024, 12:39pm UTC](https://community.cratedb.com/t/using-apache-hop-with-cratedb/1754 "2024-04-15T12:39:43Z")

</div>

Apache Hop is an open-source data integration platform which started as a fork of Kettle (Pentaho Data Integration). We can get started quickly by deploying it with Docker and connecting it to CrateDB: mkdir jdbcdriver…

---

## [Autoscale a CrateDB Cloud Cluster](https://community.cratedb.com/t/autoscale-a-cratedb-cloud-cluster/1731)

<div class="topic-metadata">

**Author:** [@Wierd](https://community.cratedb.com/u/Wierd)\
**Replies:** 0\
**Last updated:** [March 4, 2024, 7:37am UTC](https://community.cratedb.com/t/autoscale-a-cratedb-cloud-cluster/1731 "2024-03-04T07:37:05Z")

</div>

This content has been migrated.

---

## [Using common table expressions to speed up queries](https://community.cratedb.com/t/using-common-table-expressions-to-speed-up-queries/1719)

<div class="topic-metadata">

**Author:** [@hernanc](https://community.cratedb.com/u/hernanc)\
**Replies:** 0\
**Last updated:** [February 22, 2024, 9:25am UTC](https://community.cratedb.com/t/using-common-table-expressions-to-speed-up-queries/1719 "2024-02-22T09:25:57Z")

</div>

Today I want to share with you a pattern you can use to replace JOINs with CTEs in your SQL queries and achieve consistent and faster execution times. Consider a database where we store information about invoices, a sim…

---

## [Retrieving records in bulk with a list of primary key values](https://community.cratedb.com/t/retrieving-records-in-bulk-with-a-list-of-primary-key-values/1721)

<div class="topic-metadata">

**Author:** [@hernanc](https://community.cratedb.com/u/hernanc)\
**Replies:** 0\
**Last updated:** [February 23, 2024, 9:30am UTC](https://community.cratedb.com/t/retrieving-records-in-bulk-with-a-list-of-primary-key-values/1721 "2024-02-23T09:30:07Z")

</div>

When we send SQL statements to CrateDB they need to be parsed, but in most situations we do not think about this because the resources used for parsing the statements are trivial in relation to what is required to actual…

---

## [Introducing Rill and BI as Code with CrateDB Cloud](https://community.cratedb.com/t/introducing-rill-and-bi-as-code-with-cratedb-cloud/1718)

<div class="topic-metadata">

**Author:** [@proddata](https://community.cratedb.com/u/proddata)\
**Replies:** 0\
**Last updated:** [February 9, 2024, 9:09am UTC](https://community.cratedb.com/t/introducing-rill-and-bi-as-code-with-cratedb-cloud/1718 "2024-02-09T09:09:28Z")

</div>

In the world of data analytics, Rill represents a revolutionary approach to Business Intelligence (BI), championing the concept of BI as code. This methodology allows for the versioning, tracking, and collaboration on BI…

---

## [Set up Apache Superset with CrateDB](https://community.cratedb.com/t/set-up-apache-superset-with-cratedb/1716)

<div class="topic-metadata">

**Author:** [@amotl](https://community.cratedb.com/u/amotl)\
**Replies:** 0\
**Last updated:** [February 5, 2024, 10:37pm UTC](https://community.cratedb.com/t/set-up-apache-superset-with-cratedb/1716 "2024-02-05T22:37:26Z")

</div>

:spiral\_notepad: Introduction This walkthrough will guide you through the process to quickly set up a Python environment with Apache Superset, load data into CrateDB, and integrate both with each other. It has been de…

---

## [Storing server logs on CrateDB for fast search and aggregations](https://community.cratedb.com/t/storing-server-logs-on-cratedb-for-fast-search-and-aggregations/1562)

<div class="topic-metadata">

**Author:** [@hernanc](https://community.cratedb.com/u/hernanc)\
**Replies:** 0\
**Last updated:** [August 10, 2023, 7:31am UTC](https://community.cratedb.com/t/storing-server-logs-on-cratedb-for-fast-search-and-aggregations/1562 "2023-08-10T07:31:19Z")

</div>

Did you know that CrateDB can be a great store for your server logs? If you have been using log aggregation tools or even some of the most advanced commercial SIEM systems, you have probably experienced the same frustra…

---

## [Replicating data to CrateDB with Debezium and Kafka](https://community.cratedb.com/t/replicating-data-to-cratedb-with-debezium-and-kafka/1388)

<div class="topic-metadata">

**Author:** [@hernanc](https://community.cratedb.com/u/hernanc)\
**Replies:** 0\
**Last updated:** [February 28, 2023, 1:47pm UTC](https://community.cratedb.com/t/replicating-data-to-cratedb-with-debezium-and-kafka/1388 "2023-02-28T13:47:33Z")

</div>

You may have line-of-business applications such as ERP software that work with transactional database systems like MSSQL, Oracle, or MySQL. The setup may work perfectly fine for day-to-day operations, but you may find…

---

## [Importing and exporting data in CrateDB](https://community.cratedb.com/t/importing-and-exporting-data-in-cratedb/1189)

<div class="topic-metadata">

**Author:** [@rafaelasantana](https://community.cratedb.com/u/rafaelasantana)\
**Replies:** 0\
**Last updated:** [August 8, 2022, 12:38pm UTC](https://community.cratedb.com/t/importing-and-exporting-data-in-cratedb/1189 "2022-08-08T12:38:43Z")

</div>

This tutorial is also available in video at CrateDB Video | Fundamentals: Importing and Exporting Data in CrateDB This tutorial presents the basics of COPY FROM and COPY TO in CrateDB. For in-depth details of CrateDB C…

[Next page](https://community.cratedb.com/c/tutorials/28.md?page=1)
