mirror of https://github.com/apache/druid.git
76 lines
4.4 KiB
Markdown
76 lines
4.4 KiB
Markdown
---
|
|
id: tutorial-jupyter-index
|
|
title: Jupyter Notebook tutorials
|
|
sidebar_label: Jupyter Notebook tutorials
|
|
---
|
|
|
|
<!--
|
|
~ Licensed to the Apache Software Foundation (ASF) under one
|
|
~ or more contributor license agreements. See the NOTICE file
|
|
~ distributed with this work for additional information
|
|
~ regarding copyright ownership. The ASF licenses this file
|
|
~ to you under the Apache License, Version 2.0 (the
|
|
~ "License"); you may not use this file except in compliance
|
|
~ with the License. You may obtain a copy of the License at
|
|
~
|
|
~ http://www.apache.org/licenses/LICENSE-2.0
|
|
~
|
|
~ Unless required by applicable law or agreed to in writing,
|
|
~ software distributed under the License is distributed on an
|
|
~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
~ KIND, either express or implied. See the License for the
|
|
~ specific language governing permissions and limitations
|
|
~ under the License.
|
|
-->
|
|
|
|
<!-- tutorial-jupyter-index.md and examples/quickstart/juptyer-notebooks/README.md
|
|
share a lot of the same content. If you make a change in one place, update the other
|
|
too. -->
|
|
|
|
You can try out the Druid APIs using the Jupyter Notebook-based tutorials. These
|
|
tutorials provide snippets of Python code that you can use to run calls against
|
|
the Druid API to complete the tutorial.
|
|
|
|
## Prerequisites
|
|
|
|
The simplest way to get started is to use Docker. In this case, you only need to set up Docker Desktop.
|
|
For more information, see [Docker for Jupyter Notebook tutorials](tutorial-jupyter-docker.md).
|
|
|
|
Otherwise, you can install the prerequisites on your own. Here's what you need:
|
|
|
|
- An available Druid instance.
|
|
- Python 3.7 or later
|
|
- JupyterLab (recommended) or Jupyter Notebook running on a non-default port.
|
|
By default, Druid and Jupyter both try to use port `8888`, so start Jupyter on a different port.
|
|
- The `requests` Python package
|
|
- The `druidapi` Python package
|
|
|
|
For setup instructions, see [Tutorial setup without using Docker](tutorial-jupyter-docker.md#tutorial-setup-without-using-docker).
|
|
Individual tutorials may require additional Python packages, such as for visualization or streaming ingestion.
|
|
|
|
## Python API for Druid
|
|
|
|
The `druidapi` Python package is a REST API for Druid.
|
|
One of the notebooks shows how to use the Druid REST API. The others focus on other
|
|
topics and use a simple set of Python wrappers around the underlying REST API. The
|
|
wrappers reside in the `druidapi` package within the notebooks directory. While the package
|
|
can be used in any Python program, the key purpose, at present, is to support these
|
|
notebooks. See
|
|
[Introduction to the Druid Python API](https://github.com/apache/druid/blob/master/examples/quickstart/jupyter-notebooks/Python_API_Tutorial.ipynb)
|
|
for an overview of the Python API.
|
|
|
|
The `druidapi` package is already installed in the custom Jupyter Docker container for Druid tutorials.
|
|
|
|
## Tutorials
|
|
|
|
The notebooks are located in the [apache/druid repo](https://github.com/apache/druid/tree/master/examples/quickstart/jupyter-notebooks/). You can either clone the repo or download the notebooks you want individually.
|
|
|
|
The links that follow are the raw GitHub URLs, so you can use them to download the notebook directly, such as with `wget`, or manually through your web browser. Note that if you save the file from your web browser, make sure to remove the `.txt` extension.
|
|
|
|
- [Introduction to the Druid REST API](https://raw.githubusercontent.com/apache/druid/master/examples/quickstart/jupyter-notebooks/notebooks/04-api/00-getting-started.ipynb) walks you through some of the
|
|
basics related to the Druid REST API and several endpoints.
|
|
- [Introduction to the Druid Python API](https://raw.githubusercontent.com/apache/druid/master/examples/quickstart/jupyter-notebooks/notebooks/01-introduction/01-druidapi-package-intro.ipynb) walks you through some of the
|
|
basics related to the Druid API using the Python wrapper API.
|
|
- [Learn the basics of Druid SQL](https://raw.githubusercontent.com/apache/druid/master/examples/quickstart/jupyter-notebooks/notebooks/03-query/00-using-sql-with-druidapi.ipynb) introduces you to the unique aspects of Druid SQL with the primary focus on the SELECT statement.
|
|
- [Ingest and query data from Apache Kafka](https://raw.githubusercontent.com/apache/druid/master/examples/quickstart/jupyter-notebooks/notebooks/02-ingestion/01-streaming-from-kafka.ipynb) walks you through ingesting an event stream from Kafka.
|