配置#

Vaex中的所有设置都可以基于Pydantic以统一的方式进行配置。在Python运行时,可以通过vaex.settings模块进行设置配置。

import vaex
vaex.settings.main.thread_count = 10
vaex.settings.display.max_columns = 50

通过环境变量:

$ VAEX_NUM_THREADS=10 VAEX_DISPLAY_MAX_COLUMNS=50 python myservice.py

否则,值将从当前工作目录中的.env 文件使用dotenv获取。

VAEX_NUM_THREADS=22
VAEX_CHUNK_SIZE_MIN=2048

最后,从$VAEX_PATH_HOME/.vaex/main.yaml加载一个全局的yaml文件(优先级最低)。

thread_count: 33
display:
  max_columns: 44
  max_rows: 20

如果我们现在运行 vaex settings yaml,我们将看到有效的设置以 yaml 格式输出:

$ VAEX_NUM_THREADS=10 VAEX_DISPLAY_MAX_COLUMNS=50 vaex settings yaml
...
chunk:
  size: null
  size_min: 2048
  size_max: 1048576
display:
  max_columns: 50
  max_rows: 20
thread_count: 10
...

开发者#

当更新vaex/settings.py时,运行vaex settings watch以在保存文件时自动生成以下文档。

架构#

可以使用生成JSON模式

$ vaex settings schema > vaex-settings.schema.json

设置#

Vaex 的常规设置

别名#

用于 vaex.open 的别名

环境变量:VAEX_ALIASES

Python 设置 vaex.settings.main.aliases

异步#

如何在本地执行器中运行异步代码

环境变量:VAEX_ASYNC

示例用法:

$ VAEX_ASYNC=nest python myscript.py

Python 设置 vaex.settings.main.async_

示例用法:vaex.settings.main.async_ = 'nest'

主页#

vaex的主目录,默认为$HOME/.vaex,如果$VAEX_HOME$HOME都未定义,则使用当前工作目录。(请注意,此设置无法从vaex主目录本身配置)。

环境变量:VAEX_HOME

示例用法:

$ VAEX_HOME=/home/docs/.vaex python myscript.py

Python 设置 vaex.settings.main.home

示例用法:vaex.settings.main.home = '/home/docs/.vaex'

mmap#

实验性关闭,如果设置为False,将避免使用内存映射

环境变量:VAEX_MMAP

示例用法:

$ VAEX_MMAP=True python myscript.py

Python 设置 vaex.settings.main.mmap

示例用法:vaex.settings.main.mmap = True

进程计数#

用于多处理的进程数(例如apply),默认为thread_count设置

环境变量:VAEX_PROCESS_COUNT

示例用法:

$ VAEX_PROCESS_COUNT=2 python myscript.py

Python 设置 vaex.settings.main.process_count

示例用法:vaex.settings.main.process_count = 2

线程计数#

用于计算的线程数,默认为 multiprocessing.cpu_count()

环境变量:VAEX_NUM_THREADS

示例用法:

$ VAEX_NUM_THREADS=2 python myscript.py

Python 设置 vaex.settings.main.thread_count

示例用法:vaex.settings.main.thread_count = 2

线程计数IO#

用于IO的线程数,默认为thread_count_io + 1

环境变量:VAEX_NUM_THREADS_IO

示例用法:

$ VAEX_NUM_THREADS_IO=2 python myscript.py

Python 设置 vaex.settings.main.thread_count_io

示例用法:vaex.settings.main.thread_count_io = 2

路径锁定#

用于存储vaex锁文件的目录,默认为${VAEX_HOME}/lock/,由于可能存在竞争条件,在使用Vaex的进程运行时(在Unix系统上)无法删除锁文件。

环境变量:VAEX_LOCK

示例用法:

$ VAEX_LOCK=/home/docs/.vaex/lock python myscript.py

Python 设置 vaex.settings.main.path_lock

示例用法:vaex.settings.main.path_lock = '/home/docs/.vaex/lock'

缓存#

设置用于缓存计算或任务结果,详情请参阅API

类型#

缓存类型,例如 'memory_infinite'、'memory'、'disk'、'redis',或者多级缓存,例如 'memory,disk'

环境变量:VAEX_CACHE

Python 设置 vaex.settings.cache.type

磁盘大小限制#

磁盘上缓存的最大大小,例如 10GB, 500MB

环境变量:VAEX_CACHE_DISK_SIZE_LIMIT

示例用法:

$ VAEX_CACHE_DISK_SIZE_LIMIT=10GB python myscript.py

Python 设置 vaex.settings.cache.disk_size_limit

示例用法:vaex.settings.cache.disk_size_limit = '10GB'

内存大小限制#

内存中缓存的最大大小,例如 1GB, 500MB

环境变量:VAEX_CACHE_MEMORY_SIZE_LIMIT

示例用法:

$ VAEX_CACHE_MEMORY_SIZE_LIMIT=1GB python myscript.py

Python 设置 vaex.settings.cache.memory_size_limit

示例用法:vaex.settings.cache.memory_size_limit = '1GB'

路径#

缓存结果的存储位置。默认为 ${VAEX_HOME}/cache

环境变量:VAEX_CACHE_PATH

示例用法:

$ VAEX_CACHE_PATH=/home/docs/.vaex/cache python myscript.py

Python 设置 vaex.settings.cache.path

示例用法:vaex.settings.cache.path = '/home/docs/.vaex/cache'

#

配置数据集如何被分解成更小的块。当未设置size时,执行器会根据size_minsize_max以及线程数量动态调整块大小。

大小#

设置后,固定块的数量,例如不在最小值和最大值之间动态调整

环境变量:VAEX_CHUNK_SIZE

Python 设置 vaex.settings.main.chunk.size

最小尺寸#

最小块大小

环境变量:VAEX_CHUNK_SIZE_MIN

示例用法:

$ VAEX_CHUNK_SIZE_MIN=1024 python myscript.py

Python 设置 vaex.settings.main.chunk.size_min

示例用法:vaex.settings.main.chunk.size_min = 1024

最大尺寸#

最大块大小

环境变量:VAEX_CHUNK_SIZE_MAX

示例用法:

$ VAEX_CHUNK_SIZE_MAX=1048576 python myscript.py

Python 设置 vaex.settings.main.chunk.size_max

示例用法:vaex.settings.main.chunk.size_max = 1048576

数据#

数据配置

路径#

数据文件的存储位置,例如 vaex.example()。默认为 ${VAEX_HOME}/data/

环境变量:VAEX_DATA_PATH

示例用法:

$ VAEX_DATA_PATH=/home/docs/.vaex/data python myscript.py

Python 设置 vaex.settings.data.path

示例用法:vaex.settings.data.path = '/home/docs/.vaex/data'

显示#

数据框如何显示

最大列数#

打印数据框时要显示多少列

环境变量:VAEX_DISPLAY_MAX_COLUMNS

示例用法:

$ VAEX_DISPLAY_MAX_COLUMNS=200 python myscript.py

Python 设置 vaex.settings.display.max_columns

示例用法:vaex.settings.display.max_columns = 200

最大行数#

在显示第一行和最后一行之前要打印多少行

环境变量:VAEX_DISPLAY_MAX_ROWS

示例用法:

$ VAEX_DISPLAY_MAX_ROWS=10 python myscript.py

Python 设置 vaex.settings.display.max_rows

示例用法:vaex.settings.display.max_rows = 10

文件系统#

文件系统配置

路径#

用于缓存来自远程文件系统的文件的存储位置。默认为 ${VAEX_HOME}/file-cache/

环境变量:VAEX_FS_PATH

示例用法:

$ VAEX_FS_PATH=/home/docs/.vaex/file-cache python myscript.py

Python 设置 vaex.settings.fs.path

示例用法:vaex.settings.fs.path = '/home/docs/.vaex/file-cache'

内存追踪器#

在服务中使用vaex时的内存跟踪/保护

类型#

执行任务时使用哪个内存跟踪器

环境变量:VAEX_MEMORY_TRACKER

示例用法:

$ VAEX_MEMORY_TRACKER=default python myscript.py

Python 设置 vaex.settings.main.memory_tracker.type

示例用法:vaex.settings.main.memory_tracker.type = 'default'

最大值#

执行器可以使用的最大内存量(仅用于type='limit')

环境变量: VAEX_MEMORY_TRACKER_MAX

Python 设置 vaex.settings.main.memory_tracker.max

任务追踪器#

在服务中使用vaex时的任务跟踪/保护

类型#

在执行任务时运行的跟踪器的逗号分隔字符串

环境变量:VAEX_TASK_TRACKER

示例用法:

$ VAEX_TASK_TRACKER= python myscript.py

Python 设置 vaex.settings.main.task_tracker.type

日志记录#

为Vaex配置日志记录。默认情况下,Vaex会设置日志记录,这在运行脚本时非常有用。当Vaex在已经配置了日志记录的应用程序或服务中使用时,将环境变量VAEX_LOGGING_SETUP设置为false。

查看API文档以获取更多详细信息。

请注意,在运行时设置vaex.settings.main.logging.info等没有直接效果,因为日志记录已经配置好了。当需要时,调用vaex.logging.reset()vaex.logging.setup()来重新配置日志记录。

设置#

在导入时为Vaex设置日志记录。

环境变量:VAEX_LOGGING_SETUP

示例用法:

$ VAEX_LOGGING_SETUP=True python myscript.py

Python 设置 vaex.settings.main.logging.setup

示例用法:vaex.settings.main.logging.setup = True

富文本#

使用丰富的日志记录器(彩色精美输出)。

环境变量:VAEX_LOGGING_RICH

示例用法:

$ VAEX_LOGGING_RICH=True python myscript.py

Python 设置 vaex.settings.main.logging.rich

示例用法:vaex.settings.main.logging.rich = True

调试#

逗号分隔的日志记录器列表,设置为调试级别(例如‘vaex.settings,vaex.cache’),或使用‘1’设置根日志记录器(‘vaex’)

环境变量:VAEX_LOGGING_DEBUG

示例用法:

$ VAEX_LOGGING_DEBUG= python myscript.py

Python 设置 vaex.settings.main.logging.debug

信息#

逗号分隔的日志记录器列表,设置为信息级别(例如 'vaex.settings,vaex.cache'),或使用 '1' 来设置根日志记录器('vaex')

环境变量:VAEX_LOGGING_INFO

示例用法:

$ VAEX_LOGGING_INFO= python myscript.py

Python 设置 vaex.settings.main.logging.info

警告#

逗号分隔的日志记录器列表,设置为警告级别(例如 'vaex.settings,vaex.cache'),或使用 '1' 来设置根日志记录器('vaex')

环境变量:VAEX_LOGGING_WARNING

示例用法:

$ VAEX_LOGGING_WARNING=vaex python myscript.py

Python 设置 vaex.settings.main.logging.warning

示例用法:vaex.settings.main.logging.warning = 'vaex'

错误#

逗号分隔的日志记录器列表,设置为错误级别(例如 'vaex.settings,vaex.cache'),或使用 '1' 来设置根日志记录器('vaex')

环境变量:VAEX_LOGGING_ERROR

示例用法:

$ VAEX_LOGGING_ERROR= python myscript.py

Python 设置 vaex.settings.main.logging.error

进度#

数据配置

类型#

默认进度条显示:'simple'、'rich' 或 'widget'

环境变量:VAEX_PROGRESS_TYPE

示例用法:

$ VAEX_PROGRESS_TYPE=simple python myscript.py

Python 设置 vaex.settings.main.progress.type

示例用法:vaex.settings.main.progress.type = 'simple'

#

强制显示此类型的进度条,即使没有从用户代码请求进度条

环境变量:VAEX_PROGRESS

Python 设置 vaex.settings.main.progress.force

设置#

FastAPI服务器的配置选项

添加示例#

添加示例数据集

环境变量:VAEX_SERVER_ADD_EXAMPLE

示例用法:

$ VAEX_SERVER_ADD_EXAMPLE=True python myscript.py

Python 设置 vaex.settings.server.add_example

示例用法:vaex.settings.server.add_example = True

graphql#

添加graphql端点

环境变量:VAEX_SERVER_GRAPHQL

示例用法:

$ VAEX_SERVER_GRAPHQL=False python myscript.py

Python 设置 vaex.settings.server.graphql

示例用法:vaex.settings.server.graphql = False

文件#

名称到路径的映射

环境变量:VAEX_SERVER_FILES

Python 设置 vaex.settings.server.files