Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
eb2b574
Improve the SQL reference
lukekim May 7, 2025
8b1f050
Tweaks
lukekim May 7, 2025
2e49b06
Remove extra reference
lukekim May 7, 2025
ba6def5
Fix v1.2.1
lukekim May 7, 2025
d0057d7
Fix headings
lukekim May 7, 2025
2a1a3cb
Tweaks
lukekim May 7, 2025
aad40b0
fix: SQL reference sidebar link
peasee May 12, 2025
fe83e1c
fix: Remove leading slash
peasee May 12, 2025
750c35b
fix: Remove index.md from path
peasee May 12, 2025
fae84a9
Merge branch 'trunk' into lukim/scalar-functions
lukekim May 19, 2025
ae49e6b
Merge branch 'trunk' into lukim/scalar-functions
lukekim May 26, 2025
bb96007
WIP
lukekim May 27, 2025
42c6742
Merge branch 'trunk' into lukim/scalar-functions
lukekim Jul 22, 2025
02930dd
Merge branch 'trunk' into lukim/scalar-functions
lukekim Aug 12, 2025
1360304
Link updates
lukekim Aug 12, 2025
e443277
Merge branch 'trunk' into lukim/scalar-functions
lukekim Aug 12, 2025
d2419d2
Merge branch 'trunk' into lukim/scalar-functions
lukekim Aug 20, 2025
a284fbb
Fix links
lukekim Aug 20, 2025
1484b68
Fix link
lukekim Aug 20, 2025
c41966c
Fix link again
lukekim Aug 20, 2025
ffefe7e
Fix more links
lukekim Aug 20, 2025
84b5ffc
Fix links
lukekim Aug 20, 2025
b7b4c03
Upgrade Wrangler
lukekim Aug 20, 2025
c816f84
Use Node 24
lukekim Aug 20, 2025
00467f4
Fix edit path
lukekim Aug 20, 2025
177ab5b
Remove shallow fetch
lukekim Aug 20, 2025
55aabd4
Upgrade packages
lukekim Aug 20, 2025
dc13ebf
Fix casing
lukekim Aug 20, 2025
2fb21c9
Merge branch 'trunk' into lukim/scalar-functions
lukekim Aug 20, 2025
f5c0a8a
Add search to the SQL reference
lukekim Aug 20, 2025
ec48570
Fix functions
lukekim Aug 20, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 1 addition & 3 deletions .github/workflows/build_and_publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,12 +24,10 @@ jobs:
pull-requests: write
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- uses: actions/setup-node@v4
with:
node-version: 18
node-version: 24

- name: Install dependencies
working-directory: website
Expand Down
2 changes: 1 addition & 1 deletion website/docs/api/jdbc/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ Follow the instructions specific to your application for adding a custom JDBC dr
- In the DBeaver application menu bar, open the "Database" menu and choose: "Driver Manager"
- Click the "New" button and follow instructions to add JDBC `.jar` file.

[Full instruction](/docs/clients/DBeaver)
[Full instruction](/docs/clients/dbeaver)

## Configure JDBC connection

Expand Down
7 changes: 0 additions & 7 deletions website/docs/clients/DBeaver/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,33 +22,26 @@ pagination_next: null
![Driver manager new button](https://imagedelivery.net/HyTs22ttunfIlvyd6vumhQ/5783d944-daae-4735-99e9-976f974bc100/public 'Driver manager new button')

7. Add the JDBC jar file:

1. Click the "Libraries" tab
1. Click the: "Add File" button
1. Choose the "flight-sql-jdbc-driver-15.0.1.jar" jar file (the file downloaded in step 3 above) - and click "Open"
![Select jar file](https://imagedelivery.net/HyTs22ttunfIlvyd6vumhQ/19900f7a-f00f-473d-780e-4a28c2ecd800/public 'Select jar file')
1. Close the Driver editor window with the blue "OK" button on the lower-right

8. Enter the driver settings:

1. Click the "Settings" tab
1. In the "Driver Name" field - enter: `Apache Arrow Flight SQL`
1. In the "URL Template" field - enter: `jdbc:arrow-flight-sql://{host}:{port}?useEncryption=false&disableCertificateVerification=true`

- If [API key authentication](../../api/auth/index.md) is enabled, the URL template should be: `jdbc:arrow-flight-sql://{host}:{port}?useEncryption=false&disableCertificateVerification=true&user=&password=<enter-api-key-here>` - where `<enter-api-key-here>` is the API key value

1. In the "Driver Type" drop-down box - choose: "SQLite"
1. Select "No authentication"

- This should be selected even if API key authentication is enabled in the runtime, as the API key is supplied via the URL template above.

1. The driver manager "Edit Driver" window should look like this:
![Driver Manager completed](https://imagedelivery.net/HyTs22ttunfIlvyd6vumhQ/20348c42-117b-4763-80d2-6e615b23ae00/public 'Driver Manager completed')
1. Click the blue "OK" button on the lower-right to save the driver
1. Close the "Driver Manager" window by clicking the blue "Close" button on the lower-right.

9. Create a new Database Connection:

1. In the DBeaver application menu bar, open the "Database" menu and choose: "New Database Connection":
![New Database Connection](https://imagedelivery.net/HyTs22ttunfIlvyd6vumhQ/acdf7251-4238-44ee-9639-0c557518da00/public 'New Database Connection')
1. In the "Connect to a database" window - type: `Flight` in the search bar
Expand Down
14 changes: 7 additions & 7 deletions website/docs/clients/Datadog/index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Datadog"
sidebar_label: "Datadog"
title: 'Datadog'
sidebar_label: 'Datadog'
description: 'Monitoring Spice with Datadog'
pagination_prev: 'clients/index'
sidebar_position: 3
Expand All @@ -21,10 +21,10 @@ Configure the Datadog Agent to scrape the Spice metrics endpoint:
init_config:

instances:
- prometheus_url: SPICE-METRICS-ENDPOINT>/metrics # for example http://localhost:9090/metrics
namespace: spice
metrics:
- '*'
- prometheus_url: SPICE-METRICS-ENDPOINT>/metrics # for example http://localhost:9090/metrics
namespace: spice
metrics:
- '*'
```

1. [Restart the Agent](https://docs.datadoghq.com/agent/guide/agent-commands/#start-stop-and-restart-the-agent) to start collecting Spice metrics.
Expand All @@ -45,4 +45,4 @@ instances:

3. Dashbord is now configured to display Spice.ai OSS key performance metrics

<img width="800" src="/img/datadog/spice_datadog_dashboard.png"/>
<img width="800" src="/img/datadog/spice_datadog_dashboard.png"/>
48 changes: 48 additions & 0 deletions website/docs/clients/datadog/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
---
title: 'Datadog'
sidebar_label: 'Datadog'
description: 'Monitoring Spice with Datadog'
pagination_prev: 'clients/index'
sidebar_position: 3
pagination_next: null
---

Spice can be monitored with [Datadog](https://www.datadoghq.com/) using the [Spice Metrics Endpoint](/docs/features/observability/) and pre-built dashboards available in the [Spice repository](https://github.com/spiceai/spiceai/tree/trunk/monitoring).

## Datadog Agent Configuration

Prerequisite: [Datadog Agent version 6.5.0 or later is installed](https://docs.datadoghq.com/getting_started/agent/).

Configure the Datadog Agent to scrape the Spice metrics endpoint:

1. Edit the `openmetrics.d/conf.yaml` file in the `conf.d/` folder at the root of your [Agent’s configuration directory](https://docs.datadoghq.com/agent/guide/agent-configuration-files/#agent-configuration-directory):

```yaml
init_config:

instances:
- prometheus_url: SPICE-METRICS-ENDPOINT>/metrics # for example http://localhost:9090/metrics
namespace: spice
metrics:
- '*'
```

1. [Restart the Agent](https://docs.datadoghq.com/agent/guide/agent-commands/#start-stop-and-restart-the-agent) to start collecting Spice metrics.
1. Refer to [Prometheus and OpenMetrics metrics collection from a host](https://docs.datadoghq.com/integrations/guide/prometheus-host-collection/) for all available configuration options and supported parameters.
1. Open Datadog Metrics Explorer and type `spice` to confirm Spice telemetry information is successfully collected.

<img width="800" src="/img/datadog/spice_datadog_metrics_explorer.png"/>

## Import the Spice Datadog Dashboard

1. Create [New Datadog Dashboard](https://docs.datadoghq.com/dashboards/#get-started)

<img width="800" src="/img/datadog/spice_datadog_dashboard_new.png"/>

2. Click **Import dashboard JSON** and drag and drop [monitoring/datadog-dashboard.json](https://raw.githubusercontent.com/spiceai/spiceai/trunk/monitoring/datadog-dashboard.json) file

<img width="800" src="/img/datadog/spice_datadog_dashboard_import.png"/>

3. Dashbord is now configured to display Spice.ai OSS key performance metrics

<img width="800" src="/img/datadog/spice_datadog_dashboard.png"/>
69 changes: 69 additions & 0 deletions website/docs/clients/dbeaver/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
---
title: 'DBeaver'
sidebar_label: 'DBeaver'
description: 'Configure DBeaver to query Spice via JDBC'
sidebar_position: 2
pagination_prev: 'clients/index'
pagination_next: null
---

1. Start the Spice runtime with a dataset loaded. Follow the [quickstart guide](/docs/getting-started) to get started.

2. Download [DBeaver Community Edition](https://dbeaver.io).

3. Download the [Apache Arrow Flight SQL JDBC driver](https://search.maven.org/search?q=a:flight-sql-jdbc-driver) - choose the "jar" option.

4. Launch DBeaver

5. In the DBeaver application menu bar, open the "Database" menu and choose: "Driver Manager":
![Driver manager menu option](https://imagedelivery.net/HyTs22ttunfIlvyd6vumhQ/691d1f83-c1d0-4ad8-ec8d-d8f37ccc9d00/public 'Driver manager menu option')

6. Click the "New" button on the right:
![Driver manager new button](https://imagedelivery.net/HyTs22ttunfIlvyd6vumhQ/5783d944-daae-4735-99e9-976f974bc100/public 'Driver manager new button')

7. Add the JDBC jar file:
1. Click the "Libraries" tab
1. Click the: "Add File" button
1. Choose the "flight-sql-jdbc-driver-15.0.1.jar" jar file (the file downloaded in step 3 above) - and click "Open"
![Select jar file](https://imagedelivery.net/HyTs22ttunfIlvyd6vumhQ/19900f7a-f00f-473d-780e-4a28c2ecd800/public 'Select jar file')
1. Close the Driver editor window with the blue "OK" button on the lower-right

8. Enter the driver settings:
1. Click the "Settings" tab
1. In the "Driver Name" field - enter: `Apache Arrow Flight SQL`
1. In the "URL Template" field - enter: `jdbc:arrow-flight-sql://{host}:{port}?useEncryption=false&disableCertificateVerification=true`
- If [API key authentication](../../api/auth/index.md) is enabled, the URL template should be: `jdbc:arrow-flight-sql://{host}:{port}?useEncryption=false&disableCertificateVerification=true&user=&password=<enter-api-key-here>` - where `<enter-api-key-here>` is the API key value
1. In the "Driver Type" drop-down box - choose: "SQLite"
1. Select "No authentication"
- This should be selected even if API key authentication is enabled in the runtime, as the API key is supplied via the URL template above.
1. The driver manager "Edit Driver" window should look like this:
![Driver Manager completed](https://imagedelivery.net/HyTs22ttunfIlvyd6vumhQ/20348c42-117b-4763-80d2-6e615b23ae00/public 'Driver Manager completed')
1. Click the blue "OK" button on the lower-right to save the driver
1. Close the "Driver Manager" window by clicking the blue "Close" button on the lower-right.

9. Create a new Database Connection:
1. In the DBeaver application menu bar, open the "Database" menu and choose: "New Database Connection":
![New Database Connection](https://imagedelivery.net/HyTs22ttunfIlvyd6vumhQ/acdf7251-4238-44ee-9639-0c557518da00/public 'New Database Connection')
1. In the "Connect to a database" window - type: `Flight` in the search bar
1. Choose the `Apache Arrow Flight SQL` driver - the window should look like this:
![Connect to a database window](https://imagedelivery.net/HyTs22ttunfIlvyd6vumhQ/61cee5fe-dc75-4ac1-e558-eea3aff4c100/public 'Connect to a database window')
1. Click the blue "Next >" button on the bottom of the window
1. On the next screen, the JDBC URL should be filled out already - just supply the Host (`localhost`) and Port (`50051`) values for the Spice runtime. The window should look like this:
![Connect to a database window 2](https://imagedelivery.net/HyTs22ttunfIlvyd6vumhQ/2a2b2fdc-00db-49d3-5359-059b12342b00/public 'Connect to a database window 2')
1. Click the "Test Connection" button - the window should look like this:
![Test Connection results](https://imagedelivery.net/HyTs22ttunfIlvyd6vumhQ/a3fc5f5f-a39f-47ce-7955-4b384ec1ae00/public 'Test Connection results')
1. Click the blue "OK" button to close the Connection test window
1. Click the "Connection details (name, type, ...)" button on the right
1. In the "General" section, enter: `Spice Runtime` for the "Connection name". It should look like this:
![Name the Database Connection](https://imagedelivery.net/HyTs22ttunfIlvyd6vumhQ/f6d04fe1-92a1-4082-d4ea-e9daacaca200/public)
1. Click the blue "Finish" button to save the connection

10. Run a query:
1. Right-click on the Database Connection on the left - choose: "SQL Editor", and then: "Open SQL Console" as shown here:
![Open SQL Console](https://imagedelivery.net/HyTs22ttunfIlvyd6vumhQ/642a5885-9e3f-4dd7-ef43-72bfce27bb00/public 'Open SQL Console')
1. In the Console window - run a query - something like: `SELECT * FROM taxi_trips;`
1. Click the triangle button to execute the SQL statement - as shown below (or use keyboard shortcut: Ctrl+Enter):
![Execute SQL](https://imagedelivery.net/HyTs22ttunfIlvyd6vumhQ/2134e47b-a066-47e9-1d48-06352675f400/public 'Execute SQL')
1. See the query results as shown in this screenshot:
![Query Results](https://imagedelivery.net/HyTs22ttunfIlvyd6vumhQ/0e9f3c0f-2e03-47f9-8d5e-65e078d7e900/public 'Query Results')
1. DBeaver is now configured to query the Spice runtime using SQL! 🎉
Loading