Skip to content

管道

通过 Python、命令行和 Jupyter 接口,ydata-profiling 能够无缝集成到 Airflow、Dagster、Kedro 和 Prefect 等 DAG 执行工具中,使其轻松成为数据摄取和分析管道的一个构建模块。与 DagsterPrefect 的集成方式与 Airflow 类似。

YData Fabric 管道

Fabric 社区版

YData Fabric 有一个社区版,您今天就可以开始使用它来创建带有管道的数据工作流。在此注册并开始构建您的管道。ydata-profiling 默认安装在所有 YData 镜像中。

管道中的 ydata-profiling

YData Fabric 的数据管道经过设计,能够充分利用 Kubeflow 的能力,为可扩展且高效的数据工作流提供坚实的基础。这种技术集成确保数据管道能够无缝处理大量数据,并以最佳资源利用率执行操作。

YData Fabric 通过抽象复杂性简化了数据管道设置过程。设置过程通过拖放体验完成,同时利用现有的 Jupyter Notebook 环境。查看此视频以了解如何在 YData Fabric 中创建管道

在管道中使用 ydata-profiling 分析 CSV
# 导入所需包
import json

import pandas as pd
from ydata.profiling import ProfileReport

# 以 CSV 格式读取您的数据集
dataset = pd.read_csv('data.csv')

# 实例化报告
report = ProfileReport(dataset, title="分析我的数据")
report.config.html.navbar_show = False #禁用导航栏


# 获取报告的 HTML
report_html = report.to_html()

# 在管道中输出可视化内容
metadata = {
    'outputs' : [
        {
      'type': 'web-app',
      'storage': 'inline',
      'source': report_html,
    }
    ]
  }

# 将可视化输出写入管道流程
with open('mlpipeline-ui-metadata.json', 'w') as metadata_file:
    json.dump(metadata, metadata_file)

您可以在 ydata-profiling 示例文件夹中找到包含此实现的笔记本。

Airflow

通过 BashOperatorPythonOperator,可以轻松实现与 Airflow 的集成。

使用 Airflow 的 ydata-profiling
1
2
3
4
5
6
# 使用命令行接口
profiling_task = BashOperator(
    task_id="分析数据",
    bash_command="pandas_profiling dataset.csv report.html",
    dag=dag,
)
使用 Airflow 的 ydata-profiling
# 使用 Python 接口
import ydata_profiling

def profile_data(file_name, report_file):
    df = pd.read_csv(file_name)
    report = pandas_profiling.ProfileReport(df, title="Airflow 中的分析报告")
    report.to_file(report_file)

    return "报告生成于 {}".format(report_file)


profiling_task2 = PythonOperator(
    task_id="分析数据",
    op_kwargs={"file_name": "dataset.csv", "report_file": "report.html"},
    python_callable=profile_data,
    dag=dag,
)

Kedro

有一个社区创建的 Kedro 插件 可用。