SQLExecuteQueryOperator 连接 Apache Pinot

使用 SQLExecuteQueryOperator 执行针对 Apache Pinot 集群的 SQL 查询。

注意

对于 Apache Pinot 没有专门的 Operator。请改用 SQLExecuteQueryOperator

注意

确保已安装所需的 provider 包(例如 apache-airflow-providers-apache-pinot)以启用 Apache Pinot 支持。

使用 Operator

使用 conn_id 参数连接到您的 Apache Pinot 实例,连接元数据结构如下

Pinot Airflow 连接元数据

参数

输入

主机:字符串

Pinot broker 主机名或 IP 地址

端口:整数

Pinot broker 端口(默认:8000)

模式:字符串

(未使用)

额外:JSON

可选字段,例如:{"endpoint": "query/sql"}

SQLExecuteQueryOperator 连接 Apache Pinot 的一个示例用法如下

tests/system/apache/pinot/example_pinot.py


    # Task: Simple query to test connection and query engine
    select_1_task = SQLExecuteQueryOperator(
        task_id="select_1",
        sql="SELECT 1",
    )

    # Task: Count total records in airlineStats (sample table)
    count_airline_stats = SQLExecuteQueryOperator(
        task_id="count_airline_stats",
        sql="SELECT COUNT(*) FROM airlineStats",
    )

    # Task: Group by Carrier and count flights
    group_by_carrier = SQLExecuteQueryOperator(
        task_id="group_by_carrier",
        sql=dedent("""
            SELECT Carrier, COUNT(*) AS flight_count
            FROM airlineStats
            GROUP BY Carrier
            ORDER BY flight_count DESC
            LIMIT 5
        """).strip(),
    )

参考

如需进一步信息,请参阅

注意

直接通过 SQLExecuteQueryOperator() 提供的参数优先于 Airflow 连接元数据中指定的参数。

本条目是否有帮助?