nierówności wdrażaniu przyłączyć Hive

głosy
1

Mam dwie tabele z identyfikatorami. Mniejsza tabela zawiera identyfikatory do wyłączenia z większej tabeli. W jaki sposób mogę wdrożyć to w Ulu?

Jeśli mam użyć transformacji można mi pomóc w skrypcie?

Utwórz 23/12/2013 o 18:42
źródło użytkownik
W innych językach...                            


2 odpowiedzi

głosy
0

Jeśli mały stolik jest wystarczająco małe, aby zmieścić się w pamięci, spróbuj użyć distributed_mapUDF z Brickhouse ( http://github.com/klout/brickhouse ). Włóż klucze do lokalnego katalogu, a następnie przesłać ten katalog lokalny w rozproszonej pamięci podręcznej. Następnie można uzyskać dostęp do zawartości mapy z Hive zapytania.

insert overwrite local directory 'exclude_ids' 
   select id, value from small_table;

add file exclude_id;

select * from big_table
where map_index( distributed_map( 'exclude_ids' ), id ) = null;

Jeśli mały stolik jest zbyt duży, aby zmieścić się w pamięci, a masz dostęp do serwera HBase, spróbuj hbase_cached_getUDF do zrobienia czegoś podobnego.

Odpowiedział 23/12/2013 o 21:54
źródło użytkownik

głosy
1

Powiedzmy, że masz dwie tabele jak poniżej:

Tabela A:
ID
1
2
3

Tabela B:
ID
2
3

Pożądany Tabela Wydajność:
ID
1

Poniższa kwerenda powinny działać.

select a.id from a left outer join b on (a.id==b.id) where b.id is null
Odpowiedział 05/02/2014 o 12:39
źródło użytkownik

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more