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>