# apache-airflow-providers-clickhouse-fork
Provider allow connection from Apache Airflow to Yandex Clickhouse Database and perform query using ClickhouseOperator.
## Installation
```shell
pip install airflow-providers-clickhouse-fork
```
## Using
After installation, you can see provider in the Airflow providers list.

Now, you can add connection on the Airflow connection page.

## Example
```python
from datetime import datetime, timedelta
from airflow import DAG
from airflow.operators.dummy import DummyOperator
from apache.airflow.providers.clickhouse.operators.ClickhouseOperator import ClickhouseOperator
with DAG(
dag_id='example_clickhouse_operator',
start_date=datetime(2021, 1, 1),
dagrun_timeout=timedelta(minutes=60),
tags=['example','clickhouse'],
catchup=False,
template_searchpath='$AIRFLOW_HOME/include'
) as dag:
run_this_last = DummyOperator(task_id='run_this_last')
# load sql from file
select_data = ClickhouseOperator(
task_id='select_quit',
sql='query.sql',
click_conn_id='my_clickhouse_connection',
do_xcom_push=False
)
# set sql direct in the code section
select_push = ClickhouseOperator(
task_id='select_xcom',
sql='select * from TestTable;;',
click_conn_id='my_clickhouse_connection'
)
select_data >> select_push >> run_this_last
```
## Get result of query
If property *do_xcom_push* equals _False_, no result pushed to XCom. Otherwise, result will be pushed to XCom.
## Additional
This code based on [clichouse driver](https://clickhouse-driver.readthedocs.io/en/latest/#).
Raw data
{
"_id": null,
"home_page": "https://github.com/0xMihalich/apache-airflow-providers-clickhouse",
"name": "airflow-providers-clickhouse-fork",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": "clickhouse, airflow, providers, database, ClickhouseHook, ClickhouseOperator",
"author": "Ivan Klimenko",
"author_email": "klimenko.iv@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/6f/fc/3601a0a4bb125b8e79822205b9dc49d6404a622dce3d7b0976c7b12972f6/airflow-providers-clickhouse-fork-0.0.3.tar.gz",
"platform": null,
"description": "# apache-airflow-providers-clickhouse-fork\r\n\r\nProvider allow connection from Apache Airflow to Yandex Clickhouse Database and perform query using ClickhouseOperator.\r\n\r\n## Installation\r\n\r\n```shell\r\npip install airflow-providers-clickhouse-fork\r\n```\r\n\r\n## Using\r\n\r\nAfter installation, you can see provider in the Airflow providers list.\r\n\r\n\r\nNow, you can add connection on the Airflow connection page.\r\n\r\n\r\n## Example\r\n\r\n```python\r\nfrom datetime import datetime, timedelta\r\n\r\nfrom airflow import DAG\r\nfrom airflow.operators.dummy import DummyOperator\r\n\r\nfrom apache.airflow.providers.clickhouse.operators.ClickhouseOperator import ClickhouseOperator\r\n\r\nwith DAG(\r\n dag_id='example_clickhouse_operator',\r\n start_date=datetime(2021, 1, 1),\r\n dagrun_timeout=timedelta(minutes=60),\r\n tags=['example','clickhouse'],\r\n catchup=False,\r\n template_searchpath='$AIRFLOW_HOME/include'\r\n) as dag:\r\n\r\n run_this_last = DummyOperator(task_id='run_this_last')\r\n # load sql from file\r\n select_data = ClickhouseOperator(\r\n task_id='select_quit',\r\n sql='query.sql',\r\n click_conn_id='my_clickhouse_connection',\r\n do_xcom_push=False\r\n )\r\n # set sql direct in the code section\r\n select_push = ClickhouseOperator(\r\n task_id='select_xcom',\r\n sql='select * from TestTable;;',\r\n click_conn_id='my_clickhouse_connection'\r\n )\r\n\r\n select_data >> select_push >> run_this_last\r\n```\r\n\r\n## Get result of query\r\n\r\nIf property *do_xcom_push* equals _False_, no result pushed to XCom. Otherwise, result will be pushed to XCom.\r\n\r\n## Additional\r\n\r\nThis code based on [clichouse driver](https://clickhouse-driver.readthedocs.io/en/latest/#). \r\n",
"bugtrack_url": null,
"license": "Apache License 2.0",
"summary": "Apache Airflow providers for Yandex Clickhouse Database",
"version": "0.0.3",
"project_urls": {
"Bug Tracker": "https://github.com/0xMihalich/apache-airflow-providers-clickhouse/issues",
"Homepage": "https://github.com/0xMihalich/apache-airflow-providers-clickhouse"
},
"split_keywords": [
"clickhouse",
" airflow",
" providers",
" database",
" clickhousehook",
" clickhouseoperator"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "6ffc3601a0a4bb125b8e79822205b9dc49d6404a622dce3d7b0976c7b12972f6",
"md5": "467bc932be4dcf96915bc0a0963e483f",
"sha256": "1f2e42af3a80ea29ea261796ff33af8b5d403c2dc010ab1f55fd792e59f142da"
},
"downloads": -1,
"filename": "airflow-providers-clickhouse-fork-0.0.3.tar.gz",
"has_sig": false,
"md5_digest": "467bc932be4dcf96915bc0a0963e483f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 8763,
"upload_time": "2025-07-21T01:58:08",
"upload_time_iso_8601": "2025-07-21T01:58:08.729396Z",
"url": "https://files.pythonhosted.org/packages/6f/fc/3601a0a4bb125b8e79822205b9dc49d6404a622dce3d7b0976c7b12972f6/airflow-providers-clickhouse-fork-0.0.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-21 01:58:08",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "0xMihalich",
"github_project": "apache-airflow-providers-clickhouse",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "airflow-providers-clickhouse-fork"
}