Hive 配置单元排序依据在子查询中不起作用
我有这个疑问-Hive 配置单元排序依据在子查询中不起作用,hive,Hive,我有这个疑问- CREATE TABLE traces_orc1 (pc BIGINT, opcode STRING, frequency STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY '44' STORED AS ORC; INSERT OVERWRITE TABLE traces_orc1 SELECT CONV(pc,16,10) as pc, opcode, COUNT(*) FROM traces_textte
CREATE TABLE traces_orc1
(pc BIGINT,
opcode STRING,
frequency STRING)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '44'
STORED AS ORC;
INSERT OVERWRITE TABLE traces_orc1
SELECT CONV(pc,16,10) as pc,
opcode, COUNT(*)
FROM traces_texttemp as frequency
GROUP BY pc, opcode;
CREATE TABLE traces_orctemp
(pc BIGINT,
opcode STRING,
frequency STRING)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '44'
STORED AS ORC;
INSERT OVERWRITE TABLE traces_orctemp
SELECT pc, opcode, frequency FROM traces_orc1 ORDER BY pc ASC;
我试图把这两个语句合并成一个-
CREATE TABLE traces_orc2 (
pcount BIGINT,
opcode STRING,
frequency STRING)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '44'
STORED AS TEXTFILE;
INSERT OVERWRITE TABLE traces_orc2
SELECT CONV(TRIM(traces_text.pc),16,10) as pcount,
opcode, COUNT(*) as frequency
FROM traces_text
GROUP BY pcount,opcode
ORDER BY pcount ASC;
但这行不通。当我将其作为一条语句编写时,orderby
不起作用
任何输入???您是否尝试过:
INSERT OVERWRITE TABLE traces_orc2
select pcount, opcode, frequency from
(SELECT CONV(TRIM(traces_text.pc),16,10) as pcount,
opcode, COUNT(*) as frequency
FROM traces_text
GROUP BY pcount,opcode)
ORDER BY pcount ASC;
它可能会强制Hive启动第二个减少阶段进行排序。您在第一次覆盖中有
跟踪\u text temp
,在第三次覆盖中有跟踪\u text
。这些是从哪里来的?这只是我加载数据的两个表