【问题标题】:Dask graph: Color tasks by layersDask 图:按层为任务着色
【发布时间】:2021-11-27 11:14:59
【问题描述】:

在 Dask 中,我可以可视化 HighLevelGraphs 或(低级)Dask 对象。

df = dask.datasets.timeseries(end='2000-04-01', partition_freq='1m')
df['x'] = df['x'] * 2

高级图

df.dask.visualize()

低级图

df.visualize(size="7")

问题

在这个简单的示例中,很容易分辨哪些(低级图)任务属于哪个层。

在更复杂的工作流程中,低级图通常非常庞大且令人困惑。如果我可以按节点所属的层为节点着色,那将有很大帮助。理想情况下,我也可以将相同的颜色应用于高级图形可视化。

这可能吗,如果可以,那怎么办?

解决方案尝试

我知道两种可视化的 color 参数,但可用的选项是

  • layer_type 用于 HighLevelGraph
  • order 用于低级 dask 图

不要让我看到哪个低级任务属于哪个层。

【问题讨论】:

    标签: python visualization dask graphviz


    【解决方案1】:

    可以使用colorkwarg,例如:

    df.dask.visualize(color='layer_type') # high-level graph
    df.visualize(color='order') # low-level graph
    # also note that optimize_graph=True is a true representation
    # of the order in which tasks are executed
    

    请注意,对于订单可视化,可以传递其他选项,请参阅docs 中的示例。

    【讨论】:

    • 谢谢,我知道这些选项,但据我所知,它们并不能解决我的问题。抱歉,我本来可以更清楚地说明这一点,我已将其添加到问题中。
    • 啊,好的,文档建议选择低级图的特定部分(如果可行的话)。
    • 能否给我一个示例或链接到您所指的文档?
    • 查看链接:“与 dask.visualize 一样,您可能需要将问题缩小到更小的规模,因此我们将切掉一部分数据。”
    猜你喜欢
    • 1970-01-01
    • 2019-11-01
    • 1970-01-01
    • 2014-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-14
    • 1970-01-01
    相关资源
    最近更新 更多