2013-06-12 11 views

Odpowiedz

2

Dzieje się tak dlatego, że baza danych korzysta z klastrowych kluczy głównych, więc zapytanie przeszukuje każdy wiersz dla pojedynczego klucza, wiersz - wiersz agonizujący, a nie indeks.

  • Uruchom optimize table. Zapewni to, że strony danych będą fizycznie przechowywane w posortowanej kolejności. Może to potencjalnie przyspieszyć skanowanie zakresu w klastrowym kluczu podstawowym.

  • utworzyć dodatkowy indeks niebędący podstawowym elementem tylko kolumny change_event_id . Spowoduje to zapisanie kopii tej kolumny na stronach indeksu, które będą o wiele szybsze do skanowania. Po utworzeniu go, sprawdź plan wyjaśnić upewnić się, że przy użyciu nowego indeksu

+1

Coś mi mówi, że AlexHenderson_v1.00 odpowiadał na niewłaściwe pytanie. –

+0

Nie. Komentarz musiał zostać zredagowany po mojej odpowiedzi. Coś mi mówi, że źle przeliterowałeś moje imię. –

11
select * from table 

Może to być mapa tylko praca, ale

Select Count(*) from table 

To może być Map i Reduce pracę

Mam nadzieję, że to pomoże.

+1

OK dzięki, czy możesz wyjaśnić mi, jak działa jego kod? Czy jest jakiś sposób na uzyskanie czasu wykonania? Co oznacza MOJA JOB? – Haris

3

Dostępne są trzy typy operacji, które może wykonać zapytanie w ulu.

W kolejności od najtańszych i najszybszych do droższych i wolniejszych tutaj.

Kwerenda w kopcu może być żądaniem tylko metadanych.

Pokaż tabele, opisują tabelę są przykładami. W tych kwerendach proces ula wykonuje wyszukiwanie w serwerze metadanych. Serwer metadanych to baza danych SQL, prawdopodobnie MySQL, ale faktyczna baza danych jest konfigurowalna.

Kwerenda w kopcu może być żądaniem hdfs. Wybierz * z tabeli, będzie przykładem. W tym przypadku gałąź może zwrócić wyniki, wykonując operację hdfs. hadoop fs -get, mniej więcej.

Zapytanie o ula może być zadaniem Zmniejsz mapę.

Hive musi wysłać słoik do hdfs, jobtracker kolejkuje zadania, tasktracker wykonuje zadania, ostateczne dane są umieszczane w hdfs lub wysyłane do klienta.

Mapa Zmniejszenie liczby zadań ma również inne możliwości.

Może to być zadanie wyłącznie na mapie. Wybierz * z tabeli, gdzie id> 100, na przykład cała ta logika może zostać zastosowana w programie odwzorowującym.

Może to być zadanie Map i Reduce, Wybierz min (id) z tabeli; Wybierz * z kolejności według identyfikatora;

Może to również prowadzić do wielu map Zmniejszyć liczbę przejść, ale myślę, że powyższe podsumowuje niektóre zachowania.

Powiązane problemy