当前位置: 首页 > article >正文

DASK==延迟对象delayed

官方文档地址

Dask Delayed — Dask documentation

总结为:

输出函数延时

dataframe延时

统一compute

代码:

import dask.dataframe as dd
import fsspec
import pandas as pd
from dask.delayed import delayed
import os


# 创建一个模拟的 _write_csv 函数
def _write_csv(df, fil, *, depend_on=None, **kwargs):
    print(df)
    print(fil)
    print(kwargs)
    with fil as f:
        df.to_csv(f, **kwargs)
    return os.path.normpath(fil.path)


if __name__ == '__main__':
    # 创建测试数据
    data = {
        'A': range(10),
        'B': range(10, 20)
    }
    df = pd.DataFrame(data)

    # 将 Pandas DataFrame 转为 Dask DataFrame,分区设置为2
    print('dd.from_pandas(df, npartitions=2)')
    dask_df = dd.from_pandas(df, npartitions=2)
    print(dask_df)
    print('dd.from_pandas(df, npartitions=2)')

    print('dfs = dask_df.to_delayed()')
    dfs = dask_df.to_delayed()
    print(dfs)
    print('dfs = dask_df.to_delayed()')

    # 设置文件名
    first_file = fsspec.open('output1.csv', 'w')
    second_file = fsspec.open('output2.csv', 'w')
    files = [first_file, second_file]

    to_csv_chunk = delayed(_write_csv, pure=False)
    print(to_csv_chunk)

    kwargs = {}
    values = [to_csv_chunk(dfs[0], files[0], **kwargs)]
    values.extend(
        [to_csv_chunk(d, f, **kwargs) for d, f in zip(dfs[1:], files[1:])]
    )

    print(values)

    # 执行计算并保存文件
    import dask

    compute_kwargs = {}
    aa = list(dask.compute(*values, **compute_kwargs))
    print(aa)


http://www.kler.cn/a/287610.html

相关文章:

  • 【Pytorch】IPython库中的display函数
  • 【汇编】c++游戏开发
  • vue2+3 —— Day5/6
  • Gin 框架中的路由
  • 代码段数据段的划分
  • PCB+SMT线上报价系统+PCB生产ERP系统自动化拼板模块升级
  • QT QGraphicsView实现预览图片显示缩略图功能
  • Protocol Buffers
  • java打包jar后读取依赖jar包中的文件资源,支持读取jlink打包的模块镜像中读取
  • axure9树形元件节点的添加
  • SQL-多表查询
  • 深入理解Java集合:如何使用for增强循环和泛型类型转换
  • 笔记整理—uboot番外(1)命令体系
  • 大佬借助ChatGPT写论文发刊到手软,四个步骤20个顶级学术提示词指令
  • MyBatis-SQL-语句执行流程
  • UE5 UMG UI编辑器工作流
  • mybatis if标签判断字符串是否相等
  • 面试基本内容
  • 【GD32】RT-Thread实时操作系统移植(GD32F470ZGT6)
  • 中介者模式详解
  • Pytorch实现多层LSTM模型,并增加emdedding、Dropout、权重共享等优化
  • Python 爬虫爬取京东商品信息
  • 会赢的!(牛客)
  • 买电脑如何选择显卡?
  • 10、Flink 动态表之更新和追加查询详解
  • 【React】Redux-toolkit 处理异步操作