【发布时间】:2020-10-19 12:18:35
【问题描述】:
我写了这段代码:
from airflow import DAG
from airflow.hooks.clickhouse_hook import ClickHouseHook
from airflow.operators.python_operator import PythonOperator
from airflow.utils.dates import days_ago
from datetime import datetime
default_args = {
'owner': 'airflow',
'depends_on_past': False,
'start_date': datetime(2020, 10, 18)
}
def _data_from_clickhouse():
ch_hook = ClickHouseHook(clickhouse_conn_id='ClickHouse_rnd_conn')
ch_hook.get_records('select * from cpa_traffic_costs')
with DAG(dag_id='data_to_clickhouse',
default_args=default_args) as dag:
get_data_from_clickhouse = PythonOperator(
task_id='get_data_from_clickhouse',
python_callable=_data_from_clickhouse,
)
get_data_from_clickhouse
但是当我在 Web UI 中启动这个 dag 时出现错误
clickhouse_driver.errors.SocketTimeoutError: Code: 209. (85.***.***.***:8123)
此错误仅发生在气流 dag 中。 我通过气流的 Web UI 建立了一个连接“ClickHouse_rnd_conn”。也许问题是气流没有连接类型“clickhouse”,我使用类型“HTTP”
【问题讨论】:
标签: python airflow clickhouse