Ckan
This is the implementation of the Ckan data handler for MindsDB.
CKAN is a Data Catalogue for Open Data. It stores data in a DataStore. To retrieve data from CKAN, you need to use the CKAN API.
Prerequisites
Before proceeding, ensure the following prerequisites are met:
- Install MindsDB locally via Docker or Docker Desktop.
- To connect Ckan to MindsDB, install the required dependencies following this instruction.
- Install or ensure access to Ckan.
Implementation
You can connect CKAN by creating a CKAN API client. In this handler, you can create a CKAN API client with ckanapi.
Some CKAN instances require you to provide API key. You can find it in the CKAN user panel.
from ckanapi import RemoteCKAN
ckan = RemoteCKAN('https://ckan.example.com/', apikey='YOUR_API_KEY')
CKAN API client supports all API methods of CKAN. For our handler we use the DataStore API.
The datastore_search_sql
action supports raw SQL commands to be used to search for the data.
Here is an example:
ckan.action.datastore_search_sql(sql='SELECT * FROM "resource_id"')
Usage
In order to make use of this handler and connect to a Ckan server in MindsDB, the following syntax can be used:
CREATE DATABASE ckan_datasource
WITH
engine = 'ckan',
parameters = {
"url": "http://demo.ckan.org/api/3/action/",
"apikey": "YOUR_API_KEY"
};
Was this page helpful?