-
Notifications
You must be signed in to change notification settings - Fork 148
Expand file tree
/
Copy pathpixels-cpp.properties
More file actions
66 lines (49 loc) · 2.1 KB
/
pixels-cpp.properties
File metadata and controls
66 lines (49 loc) · 2.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# pixels c++ reader configurations
# valid values: noop, sortmerge, ratelimited
read.request.scheduler=noop
read.request.merge.gap=2097152
# localfs properties
localfs.block.size=4096
localfs.enable.direct.io=true
localfs.enable.async.io=true
# the lib of async is iouring or aio
localfs.async.lib=iouring
# pixel.stride must be the same as the stride size in pxl data
pixel.stride=10000
# the work thread to run pixels. -1 means using all CPU cores
pixel.threads=-1
# column size path. It is optional. If no column size path is designated, the
# size of first pixels data is used. For example:
pixel.column.size.path=/home/whz/pixels/clickbench-size-e0.csv
# pixel.column.size.path=
# the work thread to run parquet. -1 means using all CPU cores
parquet.threads=-1
# storage device identifier directory depth
# this parameter defines the directory depth that determines the storage device.
# for example, we have three SSDs, the path is /data/ssd1, /data/ssd2 and /data/ssd3, so the depth is 2
# another example: we have three SSDs, the path is /ssd1, /ssd2 and /ssd3, so the depth is 1
# this parameter helps us allocate SSD to specific threads
storage.directory.depth=1
# the row group size in bytes for pixels writer, should not exceed 2GB
row.group.size=268435456
# the block size for block-wise storage systems such as HDFS
block.size=2147483648
# the number of replications of each block for block-wise storage systems such as HDFS
block.replication=1
# the alignment of the start offset of a column chunk in the file, it is for SIMD and its unit is byte
column.chunk.alignment=32
# for DuckDB, it is only effective when column.chunk.alignment also meets the alignment of the isNull bitmap
isnull.bitmap.alignment=8
# for change BufferPool ExtraSize
pixel.bufferpool.extraSize=3145728
# for change slice size in BufferPool
pixel.bufferpool.sliceSize=64
# smallbuffer 10085160 largebuffer 356596096
pixel.bufferpool.bufferpoolSize=356596096
pixel.bufferpool.fixedsize=false
pixel.bufferpool.bufferNum=20
pixel.bufferpool.hugepage=true
# 0 interrupt-dirven
# 1 IORING_SETUP_IOPOLL
# 2 IORING_SETUP_SQPOLL
pixels.io_uring.mode=0