Getting Started with DuckDB
Introduction ¶ Learning Objectives ¶ What Makes DuckDB Different from Traditional Databases ¶ When (and When Not) to Use DuckDB for Spatial Work ¶ When to Use DuckDB ¶ When Not to Use DuckDB ¶ Installing DuckDB CLI and Running Your First Query ¶ Windows Installation ¶ macOS or Linux Installation ¶ curl https://install.duckdb.org | shInstalling the DuckDB Python Client ¶ Installing DuckDB Using pip ¶ Installing uv ¶ curl -LsSf https://astral.sh/uv/install.sh | shBasic uv Usage ¶ # Navigate to your project directory
cd /path/to/your/project
# Create a virtual environment
uv venv
# Create with specific Python version
uv venv --python 3.12
# Activate the environment (varies by OS)
# On macOS/Linux:
source .venv/bin/activate
# On Windows:
.venv\Scripts\activate# Install packages
uv pip install jupyterlab leafmap duckdb duckdb-engine jupyter-duckdb jupysqlInstalling DuckDB Using Conda ¶ Installing Miniconda on Windows ¶ curl https://repo.anaconda.com/miniconda/Miniconda3-latest-Windows-x86_64.exe -o .\miniconda.exe
start /wait "" .\miniconda.exe /S
del .\miniconda.exeInstalling Miniconda on macOS ¶ mkdir -p ~/miniconda3
curl https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-arm64.sh -o ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
rm ~/miniconda3/miniconda.shmkdir -p ~/miniconda3
curl https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh -o ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
rm ~/miniconda3/miniconda.shsource ~/miniconda3/bin/activate
conda init --allInstalling Miniconda on Linux ¶ mkdir -p ~/miniconda3
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
rm ~/miniconda3/miniconda.shsource ~/miniconda3/bin/activate
conda init --allInstalling DuckDB in the Conda environment ¶ conda create -n geo python=3.12
conda activate geo
conda install -c conda-forge python-duckdb duckdb-engine jupysql leafmapVerifying Installation ¶ Installing Visual Studio Code ¶ Download and Installation ¶ Installing VS Code Extensions ¶ code --install-extension ms-python.python
code --install-extension ms-toolsai.jupyter
code --install-extension RandomFractalsInc.duckdb-sql-toolsInstalling DuckDB Extensions ¶ Using the DuckDB UI ¶ Installing DBeaver SQL IDE ¶ Key Takeaways ¶ Exercises ¶ Exercise 1: Installation Verification ¶ Exercise 2: Installing and Loading Extensions ¶ Exercise 3: Python Environment Setup ¶ Exercise 4: DBeaver SQL Editor Setup ¶ Exercise 5: Exploring the DuckDB UI ¶