关闭 dask 客户端警告

And*_*dko 4 python dask jupyter-notebook

我的 Jupyter Notebook 输出中出现 Dask 客户端垃圾邮件警告。有没有办法关闭 dask 警告?

警告文本如下所示:“distributed.worker - 警告 - 内存使用率很高,但工作人员没有数据可存储到磁盘。也许其他进程正在泄漏内存?进程内存:3.16 GB -- 工作人员内存限制:4.20 GB”

问题出现在这些代码之后:

import pandas as pd
from sqlalchemy import create_engine, MetaData
from sqlalchemy import select, insert, func
import dask.dataframe as dd

from dask.distributed import Client
client = Client(n_workers=4, threads_per_worker=4, processes=False)

engine = create_engine(uri)
meta_core = MetaData()
meta_core.reflect(bind=engine)

table = meta_core.tables['table']

dd_main = dd.read_sql_table(
    table=table,
    uri=uri,
    index_col='id'
)

dd_main.head()
Run Code Online (Sandbox Code Playgroud)

执行上面的块后,我在每个 Jupyter 单元格中都会收到很多这样的警告,所以我什至找不到我的实际输出。

小智 7

我不得不使用MRocklin答案的变体:

import logging

client = Client(..., silence_logs=logging.ERROR)
Run Code Online (Sandbox Code Playgroud)

"error"使用常量的 python 无法识别该字符串logging。另一种方法是直接传递常量的数值(此处logging.ERROR == 50)。请参阅日志记录级别


MRo*_*lin 5

您可以将日志记录级别传递给 Client 构造函数,如下所示:

client = Client(..., silence_logs='error')
Run Code Online (Sandbox Code Playgroud)