2014-07-04 2 views
3

Hadoop의 디렉토리 (Python 스트리밍을 통해)에 액세스하고 해당 매퍼의 해시를 계산하여 해당 이미지 파일을 반복합니다. 다음 논리가 의미가 있으며 하드 코딩 대신 디렉토리를 Hadoop (예 : -input)으로 전달할 수 있습니까?Hadoop 스트리밍 파일을 디렉토리에 액세스

lotsdir= 'hdfs://localhost:54310/user/hduser/randomimages/' 
import glob 
path = lotsdir + '*.*' 
files = glob.glob(path) 
files.sort() 

imagehashes={} 
for fname in files: 
    imagehashes[fname]=pHash.imagehash(fname) 
+1

사용'을 분할하기 위해 - 경로 매개 변수에 대한 cmdenv name = value' – morsik

답변

0

예, 논리가 맞습니다.

하지만 입력 파일이 텍스트 형식이 아니기 때문에 성능 문제가 발생할 수 있으므로 HDFS에서 올바르게 분할되지 않습니다.

Hadoop에서 여러 가지 방법으로 문제를 해결할 수 있기를 바랍니다. 예를 들어, 당신은 할 수 중 하나