Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.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
Sql 如何将查询答案传递到极限函数Impala_Sql_Hadoop_Impala - Fatal编程技术网

Sql 如何将查询答案传递到极限函数Impala

Sql 如何将查询答案传递到极限函数Impala,sql,hadoop,impala,Sql,Hadoop,Impala,我试图在黑斑羚中对20%的表进行采样。我在某处听说,内置的黑斑羚采样功能有问题 是否有方法将子查询传递给impala limit函数以对整个表的n%进行采样 我有这样的想法: select * from table_a order by rand() limit ( select round( (count(distinct ids)) *.2,0) from table_a) ) 子查询为我提供了所有记录的20%我不确定Impala是否具有某些数据库所具有的特定采样逻辑。但您可以使用窗

我试图在黑斑羚中对20%的表进行采样。我在某处听说,内置的黑斑羚采样功能有问题

是否有方法将子查询传递给impala limit函数以对整个表的n%进行采样

我有这样的想法:

select 
* from
table_a
order by rand()
limit
(
select 
round( (count(distinct ids)) *.2,0)
from table_a) 
)

子查询为我提供了所有记录的20%

我不确定Impala是否具有某些数据库所具有的特定采样逻辑。但您可以使用窗口功能:

select a.*
from (select a.*,
             row_number() over (order by rand()) as seqnum,
             count(*) over () as cnt
      from table_a
     ) a
where seqnum <= cnt * 0.2;