管道
通过 Python、命令行和 Jupyter 接口,ydata-profiling
能够无缝集成到 Airflow、Dagster、Kedro 和 Prefect 等 DAG 执行工具中,使其轻松成为数据摄取和分析管道的一个构建模块。与 Dagster 或 Prefect 的集成方式与 Airflow 类似。
YData Fabric 管道
Fabric 社区版
YData Fabric 有一个社区版,您今天就可以开始使用它来创建带有管道的数据工作流。在此注册并开始构建您的管道。ydata-profiling 默认安装在所有 YData 镜像中。
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
通过 BashOperator 或 PythonOperator,可以轻松实现与 Airflow 的集成。
使用 Airflow 的 ydata-profiling |
---|
| # 使用命令行接口
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 插件 可用。