mindpandas.config

MindPandas配置文件

mindpandas.config.set_concurrency_mode(mode, **kwargs)[源代码]

设置并发模式,可选并发模式有”multithread”和”multiprocess”,默认模式为”multithread”。两种模式的介绍及使用请参考 MindPandas执行模式介绍及配置说明

参数:
  • mode (str) - 可设置为”multithread”或”multiprocess”。

  • kwargs - 在”multithread”模式下运行时不需要额外的参数。在”multiprocess”模式下, kwargs 包括:

    • address: 主节点的ip地址,必填。

异常:
  • ValueError - mode 不是”multithread”或”multiprocess”。

样例:

>>> # Change the mode to multiprocess.
>>> import mindpandas as pd
>>> pd.set_concurrency_mode('multiprocess', address='127.0.0.1')
mindpandas.config.get_concurrency_mode()[源代码]

获取当前的并发模式,模式是”multithread”或”multiprocess”。

返回:

string,当前的并发模式。

样例:

>>> # Get the current concurrency mode.
>>> import mindpandas as pd
>>> mode = pd.get_concurrency_mode()
mindpandas.config.set_partition_shape(shape)[源代码]

用户可以设置数据分片的shape,其中shape[0]是行方向上的分片数量,shape[1]是列方向上的分片数量。例如,设置shape为(16, 16)时,MindPandas会尝试将数据切分为16*16个分片。

参数:
  • shape (tuple) - 在每个轴上期望的分片数。shape是一个包含两个正整数的元组,第一个元素是行方向上的分片数量,第二个元素是列方向上的分片数量。

异常:
  • ValueError - shape不是tuple类型或者shape的值不是正整数。

样例:

>>> # Set the shape of each partition to (16, 16).
>>> import mindpandas as pd
>>> pd.set_partition_shape((16, 16))
mindpandas.config.get_partition_shape()[源代码]

获取当前分片的维度。

返回:

tuple,沿每个轴的预期分片数。它是由两个正整数组成的元组。第一个元素是分片的行数,第二个元素是分片的列数。

样例:

>>> # Get the current partition shape.
>>> import mindpandas as pd
>>> mode = pd.get_partition_shape()
mindpandas.config.set_adaptive_concurrency(adaptive)[源代码]

用户可以设置自适应并发,让 read_csv 基于文件大小自动选择并发模式。可选项为”True”或”False”。设置为True时,从 read_csv 读取的文件大小超过18MB,或者使用”pandas.DataFrame”初始化的”mindpandas.DataFrame”,内存占用大于1GB时将使用多进程模式,否则使用多线程模式。设置为False时,会使用当前的并发模式。

参数:
  • adaptive (bool) - 为True时开启自适应模式,为False时关闭自适应模式。

异常:
  • ValueError - adaptive 不是True或者False。

样例:

>>> # Set adaptive concurrency to True.
>>> import mindpandas as pd
>>> pd.set_adaptive_concurrency(True)
mindpandas.config.get_adaptive_concurrency()[源代码]

获取是否使用自适应并发的标记位。

返回:

bool,自适应并发标记位的值。

样例:

>>> # Get the adaptive concurrency flag.
>>> import mindpandas as pd
>>> adaptive = pd.get_adaptive_concurrency()
mindpandas.config.set_min_block_size(min_block_size)[源代码]

用户可以使用此API设置每个分片的最小块大小, min_block_size 表示分片的每个轴的最小尺寸。每个分片的大小将大于或等于 (min_block_size, min_block_size) ,除非原始数据就小于 (min_block_size, min_block_size) 。例如,对于一个只有16列、分片维度为(2, 2)的”DataFrame”,如果 min_block_size 设置为32,在分片时不会进一步拆分列。

参数:
  • min_block_size (int) - 分片最小块的最小行数和列数。

异常:
  • ValueError - min_block_size 不是int类型。

样例:

>>> # Set the min block size of each partition to 8.
>>> import mindpandas as pd
>>> pd.set_min_block_size(8)
mindpandas.config.get_min_block_size()[源代码]

获取每个分片的当前最小块大小。

返回:

int,config中每个分片的当前 min_block_size

样例:

>>> # Get the current min block size.
>>> import mindpandas as pd
>>> mode = pd.get_min_block_size()