Apache Pinot Hook

Apache Pinot 是一个列式存储、开源、基于 Java 的分布式数据存储系统。Pinot 设计用于低延迟执行 OLAP 查询。它适用于需要对不可变数据进行快速分析(例如聚合),并可能需要实时数据摄取(ingestion)的场景。

先决条件

PinotAdminHook

这个 Hook 是对 `pinot-admin.sh` 脚本的封装,该脚本用于管理 Pinot 集群,由 Apache Pinot 发行版提供。目前,只实现了其子命令中的一小部分,这些命令是向 Apache Pinot 摄取离线数据所必需的(即 AddSchema、AddTable、CreateSegment 和 UploadSegment)。它们的命令选项基于 Pinot v0.1.0。

参数

有关参数定义,请参考 PinotAdminHook

tests/system/apache/pinot/example_pinot_dag.py

@task
def pinot_admin():
    PinotAdminHook(conn_id="pinot_admin_default", cmd_path="pinot-admin.sh", pinot_admin_system_exit=True)

参考资料

有关更多信息,请参阅文档 针对 PinotAdminHook Apache Pinot 改进<https://pinot.apache.org/>

PinotDbApiHook

这个 Hook 使用标准 SQL 端点,因为 PQL 端点即将废弃。

参数

有关参数定义,请参考 PinotDbApiHook

tests/system/apache/pinot/example_pinot_dag.py

@task
def pinot_dbi_api():
    PinotDbApiHook(
        task_id="run_example_pinot_script",
        pinot="ls /;",
        pinot_options="-x local",
    )

参考资料

有关更多信息,请参阅文档 Pinot 关于查询数据的文档<https://docs.pinot.apache.org/users/api/querying-pinot-using-standard-sql>

此条目是否有帮助?