Jestem nowy w Hadoop Hive i pracuję nad rozwiązaniem raportowania. Problem polega na tym, że wydajność zapytania jest bardzo powolna (ul 0.10, hbase 0.94, hadoop 1.1.1). Jedno z pytań to:Hadoop Hive powolne zapytania
select a.*, b.country, b.city from p_country_town_hotel b
inner join p_hotel_rev_agg_period a on
(a.key.hotel = b.hotel) where b.hotel = 'AdriaPraha' and a.min_date < '20130701'
order by a.min_date desc
limit 10;
co zajmuje dość długi czas (50s). Wiem, że wiem, że połączenie jest w polu łańcucha, a nie w liczbie całkowitej, ale zestawy danych nie są duże (cca 3300 i 100000 rekordów). Próbowałem podpowiedzi na temat tego SQL, ale nie okazało się to szybsze. To samo zapytanie na MS SQL Server trwa 1 s. Również prosta liczba (*) z tabeli trwa 7-8 sekund, co jest szokujące (tabela ma 3300 rekordów). Naprawdę nie wiem, o co chodzi? Jakieś pomysły czy źle zinterpretowałem Hadoop?
Nie używaj impala do analizy dużych danych. sprawdź [to] (https://gigaom.com/2014/01/13/cloudera-says-impala-is-faster-than-hive-which-isnt-saying-much/). Nawet aktualna wersja (0.15) jest znacznie szybsza niż ta, której używa się na tym blogu. Sprawdź [ten blog] (http://hortonworks.com/blog/benchmarking-apache-hive-13-enterprise-hadoop/). – chanchal1987