Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Clickhouse 我可以在quantilesExact中使用0和1值吗_Clickhouse - Fatal编程技术网

Clickhouse 我可以在quantilesExact中使用0和1值吗

Clickhouse 我可以在quantilesExact中使用0和1值吗,clickhouse,Clickhouse,从分位数函数: 建议使用[0.01,0.99]范围内的级别值。不要使用等于0或1的级别值–在这些情况下使用最小值和最大值函数 这是否也适用于quantileExact和quantileExact函数 在我的实验中,我发现quantileExact(0)=min和quantileExact(1)=max,但不能确定。事实证明,对quantileExact和quantileExact函数使用0和1值是安全的。该建议不是关于精度,而是关于分位数的复杂性*。 quantileExact比max-min重

分位数
函数:

建议使用[0.01,0.99]范围内的级别值。不要使用等于0或1的级别值–在这些情况下使用最小值和最大值函数

这是否也适用于
quantileExact
quantileExact
函数


在我的实验中,我发现
quantileExact(0)=min
quantileExact(1)=max
,但不能确定。

事实证明,对
quantileExact
quantileExact
函数使用0和1值是安全的。

该建议不是关于精度,而是关于分位数的复杂性*。 quantileExact比max-min重得多。 查看时间差,即使在小数据集上,最小/最大速度也要快8倍

create table Speed Engine=MergeTree order by X  
as select number X from numbers(1000000000);

SELECT min(X), max(X) FROM Speed;
┌─min(X)─┬────max(X)─┐
│      0 │ 999999999 │
└────────┴───────────┘
1 rows in set. Elapsed: 1.040 sec. Processed 1.00 billion rows, 8.00 GB (961.32 million rows/s., 7.69 GB/s.)

SELECT quantileExact(0)(X), quantileExact(1)(X) FROM Speed;
┌─quantileExact(0)(X)─┬─quantileExact(1)(X)─┐
│                   0 │           999999999 │
└─────────────────────┴─────────────────────┘
1 rows in set. Elapsed: 8.561 sec. Processed 1.00 billion rows, 8.00 GB (116.80 million rows/s., 934.43 MB/s.) 

它主要适用于quantileExact和quantileExact。quantileExact(0)始终===min(),quantileExact(1)=max可能在某些情况下quantileExact会更快,例如,您需要许多quantileExact(0、.10、.20、.30、.40…1)