Po pierwsze, jestem nowy na Hadoop :)Running Map-Reduce pracę na konkretnych plików/bloków w HDFS
Mam duży zestaw danych pliki spakowane gzipem (TBS dokumentów w pliki spakowane gzipem wokół wielkości 100-500mb każdy).
Zasadniczo potrzebuję jakiegoś filtrowania moich danych wejściowych do mojej mapy - zmniejsz liczbę zadań.
Chcę analizować te pliki na różne sposoby. Wiele z tych zadań wymaga jedynie analizy plików o określonym formacie (pewnej długości, zawierających określone słowa itp. - wszystkie rodzaje dowolnych (odwróconych) indeksów), a przetwarzanie całego zestawu danych dla każdego zadania zajmuje nieracjonalnie dużo czasu. Dlatego chcę utworzyć indeksy wskazujące konkretne bloki/pliki w HDFS.
Potrafię ręcznie wygenerować wymagane indeksy, ale jak dokładnie określić, które (tysiące) konkretnych plików/bloków, które chcę przetworzyć jako dane wejściowe dla twórców map? Czy mogę to zrobić bez odczytywania danych źródłowych do np. HBase? Czy chcę? Czy też całkowicie rozwiązałem ten problem?
Więc jeśli dobrze rozumiem, szukasz sposobu na przetwarzanie tylko podzbioru plików w ścieżce wejściowej? Jak programujesz zadania, programowo? – climbage
W jaki sposób kierowanie bloków HDFS zamiast uruchamiania różnych zadań dla różnych formatów (plików) sprawi, że zadanie stanie się szybsze? Czy możesz rozwinąć swoje pytanie bardziej? –
Przepraszamy za bycie tak niejasnym. Nie czuję się jeszcze jak w domu na stosie maczków, więc wiem, że moja terminologia i sposób myślenia jest nieznaczny. Poniższy przykład może pomóc wyjaśnić, co próbuję osiągnąć: biorąc pod uwagę 1 000 000 plików i indeks dokładnie informujący, które pliki 5000 zawierają słowo * słońce *, uruchom mapę - zmniejsz liczbę zadań, która analizuje wszystkie dokumenty zawierające słowa * słońce * . – jkgeyti