2012-12-07 14 views
5

Sto usando mrjob per elaborare una serie di file e ottenere statistiche. So che posso correre lavoro MapReduce su un singolo file, comeCome posso elaborare tutti i file in una directory usando mrjob

python count.py <some_input_file> output 

Ma come posso nutrire una directory di file allo script? La struttura della directory dei file è come questa folder/subfolders/files, c'è qualche suggerimento?

risposta

6

Bene, finalmente trovo che posso specificare una directory come percorso di input e Hadoop elaborerà tutti i file in quella directory.

Inoltre nel mio caso, ho sotto-directory contenenti i file di input. Hadoop non trasverà la directory in modo ricorsivo e genererà l'errore per impostazione predefinita. Un trucco comune è usare jolly glob come

python count.py hdfs://master-host/directory/*/*.txt > result