通过Airflow运行pySpark SQL管道时,我有兴趣了解一些业务统计信息,例如:
一个想法是将其直接推入度量标准,这样它将被Prometheus等监视工具自动使用。另一个想法是通过某个DAG结果对象获得这些值,但是我在文档中找不到任何有关它的信息。
如果有解决方案,请至少张贴一些伪代码。
答案 0 :(得分:0)
我希望在airflow.stats.Stats
类中重用Airflow的统计信息和监视支持。也许是这样的:
import logging
from airflow.stats import Stats
PYSPARK_LOG_PREFIX = "airflow_pyspark"
def your_python_operator(**context):
[...]
try:
Stats.incr(f"{PYSPARK_LOG_PREFIX}_read_count", src_read_count)
Stats.incr(f"{PYSPARK_LOG_PREFIX}_write_count", tgt_write_count)
# So on and so forth
except:
logging.exception("Caught exception during statistics logging")
[...]