Un ejemplo de cargar el paquete externo de Python NLTK
se refieren a la respuesta
Running extrnal python lib like (NLTK) with hadoop streaming
que siguieron siguiente enfoque y corrió el paquete NLTK con el streaming hadoop éxito.
Asunción, tiene ya su paquete o (NLTK en mi caso) en su sistema
primera:
zip -r nltk.zip nltk
mv ntlk.zip /place/it/anywhere/you/like/nltk.mod
Por qué en cualquier lugar va a funcionar?
Resp: Dado que proporcionaremos la ruta a este .mod archivo comprimido a través de la línea de comandos, no tenemos que preocuparnos demasiado por ello.
segundo:
cambios en su mapeador o.py archivo
#Hadoop cannot unzip files by default thus you need to unzip it
import zipimport
importer = zipimport.zipimporter('nltk.mod')
nltk = importer.load_module('nltk')
#now import what ever you like from nltk
from nltk import tree
from nltk import load_parser
from nltk.corpus import stopwords
nltk.data.path += ["."]
tercera: argumento de línea de comandos para ejecutar mapa-reducir
hadoop jar /usr/lib/hadoop-mapreduce/hadoop-streaming.jar \
-file /your/path/to/mapper/mapper.py \
-mapper '/usr/local/bin/python3.4 mapper.py' \
-file /your/path/to/reducer/reducer.py \
-reducer '/usr/local/bin/python3.4 reducer.py' \
-file /your/path/to/nltkzippedmodfile/nltk.mod \
-input /your/path/to/HDFS/input/check.txt -output /your/path/to/HDFS/output/
Por lo tanto, por encima de paso resuelto mi problema y creo que debe resolver otros también.
aplausos,
me ganó por 15 segundos. Buen descubrimiento. –
@Ray - ¡me ganaste por 15 segundos! haha gracias por publicar –
me trataron con esta solución de streaming hadoop y siempre que el NLTK postal con la opción -file, la zipimporter mantiene quejándose de que no es un archivo zip, alguna idea sobre esto? Mi asignador parece funcionar en mi máquina local en su justo hadoop streaming que está causando el problema @viper – viper