配置#
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_min和size_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