2013-07-08 2 views

ответ

0

Это похоже на это: QUALIFY row_number() над (раздел по порядке a.column1 по a.column2 по алфавиту, d.column3 по убыванию) = 1

извини, я не совсем понял. Вы пытаетесь достичь этого с помощью улья или MR? В вашем вопросе говорится, что вам нужно это через MR, но вы показали этот запрос. Оба совершенно разные.

Вы можете найти это post полезным, если вы хотите достичь этого через Улей. И если вы хотите использовать этот метод MR, вам нужно написать свой код с нуля.

НТН

+0

Привет Тарика, я могу сделать это в улье, но мы должны сделать то же самое в Mapreduce.I значит, нам нужно преобразовать hive query в mapreduce, чтобы показать клиенту как улей, так и производительность mapreduce. – pras

0

Ниже приводится репликация функции Rank с помощью обычного запроса.

Этот запрос будет выполняться независимо от базы данных. Требование заключается в ранжировании имени файла на основе даты в имени файла.

**Sample Records**: 
`insert into ref values('840001','840001_2015_04_29'); 
insert into ref values('840002','840002_2015_04_29'); 
insert into ref values('840003','840003_2015_04_29'); 
insert into ref values('840004','840004_2015_04_29'); 
insert into ref values('840008','840008_2015_04_28'); 
insert into ref values('840009','840009_2015_05_02'); 
insert into ref values('850005','850010_2015_05_29'); 
insert into ref values('850005','850010_2015_05_23'); 
insert into ref values('850005','850010_2015_05_12'); 
insert into ref values('850005','850010_2015_05_17'); 
insert into ref values('850006','850010_2015_05_29'); 
insert into ref values('850006','850010_2015_05_23'); 
insert into ref values('850006','850010_2015_05_16');` 

`**Table Structure**: 
CREATE TABLE ref 
(
    ffid TEXT 
    ,filename  TEXT 
);` 

**Query**: 
SELECT 
    S1.FFID 
    ,S1.FILENAME 
    ,(
    SELECT COUNT(*) + 1 
    FROM 
    (SELECT DISTINCT FFID,FILENAME FROM REF) AS S2 
    WHERE S1.FFID=S2.FFID AND S1.FILENAME < S2.FILENAME 
    ) AS RANK 
FROM 
    (SELECT DISTINCT FFID,FILENAME FROM REF) AS S1 
WHERE RANK=1 
ORDER BY FFID ; 
Смежные вопросы