Sql 配置单元能否选择“组合分组依据”和“订单依据”?
我在配置单元中执行一些相对简单的查询,似乎无法在单个语句中组合GROUPBY和ORDERBY。我可以在GROUPBY查询的临时表中执行select,然后使用ORDERBY对该表执行select,但我无法将它们组合在一起 例如,我有一个表a,可以执行以下查询:Sql 配置单元能否选择“组合分组依据”和“订单依据”?,sql,hadoop,hive,Sql,Hadoop,Hive,我在配置单元中执行一些相对简单的查询,似乎无法在单个语句中组合GROUPBY和ORDERBY。我可以在GROUPBY查询的临时表中执行select,然后使用ORDERBY对该表执行select,但我无法将它们组合在一起 例如,我有一个表a,可以执行以下查询: SELECT place,count(*),sum(weight) from a group by place; create temporary table result (place string,count int,sumweigh
SELECT place,count(*),sum(weight) from a group by place;
create temporary table result (place string,count int,sumweight int);
insert overwrite table result
select place,count(*),sum(weight) from a group by place;
select * from result order by place;
SELECT place,count(*),sum(weight) from a group by place order by place;
我可以执行这个查询:
SELECT place,count(*),sum(weight) from a group by place;
create temporary table result (place string,count int,sumweight int);
insert overwrite table result
select place,count(*),sum(weight) from a group by place;
select * from result order by place;
SELECT place,count(*),sum(weight) from a group by place order by place;
但如果我尝试这个查询:
SELECT place,count(*),sum(weight) from a group by place;
create temporary table result (place string,count int,sumweight int);
insert overwrite table result
select place,count(*),sum(weight) from a group by place;
select * from result order by place;
SELECT place,count(*),sum(weight) from a group by place order by place;
我得到这个错误:
错误:编译语句时出错:失败:ParseException行1:45不匹配的输入,字符串文字状态为42000,代码为40000,应为\'near'\u c0'
SELECT place,count(*),sum(weight) from a group by place sort by place;
这样使用:
SELECT place,count(*),sum(weight) from a group by place sort by place;
尝试使用group by作为子查询,order by作为外部查询,如下所示:
选择
位置
cnt,
总和
从…起
选择
位置
将*计为cnt,
重量之和
从
按地点分组
A.
按地点排序;
尝试使用group by作为子查询,order by作为外部查询,如下所示:
选择
位置
cnt,
总和
从…起
选择
位置
将*计为cnt,
重量之和
从
按地点分组
A.
按地点排序;
我试着按排序,得到了类似的结果。根据您引用的文档,SORT BY和ORDER BY之间的唯一区别是,ORDER BY保证总排序,而SORT BY则对减速机的输入进行排序,因此总排序可能不一致。我遗漏了什么吗?我只是在尝试帮助:……order by子句中有一些限制。在严格模式下,即hive.mapred.mode=strict。。。正在执行配置单元操作的模式。在严格模式下,不允许运行某些有风险的查询。例如,禁止全表扫描请参见HIVE-10454和ORDER BY要求限制条款…我感谢您的帮助!唉,增加限制没有帮助,但它确实有助于分成两个选择。我尝试按排序,得到了类似的结果。根据您引用的文档,SORT BY和ORDER BY之间的唯一区别是,ORDER BY保证总排序,而SORT BY则对减速机的输入进行排序,因此总排序可能不一致。我遗漏了什么吗?我只是在尝试帮助:……order by子句中有一些限制。在严格模式下,即hive.mapred.mode=strict。。。正在执行配置单元操作的模式。在严格模式下,不允许运行某些有风险的查询。例如,禁止全表扫描请参见HIVE-10454和ORDER BY要求限制条款…我感谢您的帮助!唉,增加限额并没有帮助,但它确实有助于分成两部分。