/ / Hive - Czy można uzyskać całkowity rozmiar części plików w katalogu? - hadoop, hive, hdfs, hiveql, hive-udf

Hive - Czy można uzyskać całkowity rozmiar części plików w katalogu? - hadoop, hive, hdfs, hiveql, hive-udf

Tło:

Mam kilka plików gzip w katalogu HDFS. Pliki te mają nazwy w formacie rrrr-mm-dd-000001.gz, rrrr-mm-dd-000002.gz i tak dalej.

Cel:

Chcę zbudować skrypt ulowy, który tworzy tabelę z kolumnami: Kolumna 1 - data (rrrr-mm-dd), Kolumna 2 - całkowity rozmiar pliku.

Mówiąc konkretnie, chciałbym podsumować rozmiary wszystkich plików gzip dla konkretnej daty. Suma będzie wartością w kolumnie 2 i datą w kolumnie 1.

czy to możliwe? Czy są jakieś wbudowane funkcje lub UDF, które mogą mi pomóc w moim przypadku użycia?

Z góry dziękuję!

Odpowiedzi:

0 dla odpowiedzi № 1

Zadanie MapReduce do tego nie wydaje się skuteczne, ponieważ nie musisz ładować żadnych danych. Dodatkowo zrobienie tego wydaje się niezręczne w Hive.

Czy możesz napisać skrypt bash lub skrypt Pythona lub coś podobnego do parsowania danych wyjściowych hadoop fs -ls? Wyobrażam sobie coś takiego:

$ hadoop fs -ls mydir/*gz | python datecount.py | hadoop fs -put - counts.txt