2014-07-07 5 views
0

$ 스크립트/scald.rb --hdfs 튜토리얼/Tutorial0.scala끓는 자습서 : 데이터에 하나 개 이상의 경로에서 누락 :</p> <p>: 목록 (튜토리얼/데이터/hello.txt) 내가 명령을 끓는 튜토리얼 (<a href="https://github.com/Cascading/scalding-tutorial/" rel="nofollow">https://github.com/Cascading/scalding-tutorial/</a>)를 실행하려고하면 SSH와 rsync를 구성한 후

나는 다음과 같은 오류 얻을 : 파일 튜토리얼/데이터/hello.txt가 실제로 존재에도 불구하고

com.twitter.scalding.InvalidSourceException: [com.twitter.scalding.TextLineWrappedArray(tutorial/data/hello.txt)] Data is missing from one or more paths in: List(tutorial/data/hello.txt) 

이 오류가 발생합니다.

해결 방법?

표준 출력 :

$ scripts/scald.rb --hdfs tutorial/Tutorial0.scala 
scripts/scald.rb:194: warning: already initialized constant SCALA_LIB_DIR 
[email protected]'s password: 
[email protected]'s password: 

SLF4J: Class path contains multiple SLF4J bindings. 
SLF4J: Found binding in [jar:file:/usr/lib/hadoop/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class] 
SLF4J: Found binding in [jar:file:/usr/lib/phoenix/phoenix-4.0.0.2.1.2.1-471-client.jar!/org/slf4j/impl/StaticLoggerBinder.class] 
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. 
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory] 
14/07/07 19:05:45 INFO Configuration.deprecation: mapred.min.split.size is deprecated. Instead, use mapreduce.input.fileinputformat.split.minsize 
14/07/07 19:05:45 INFO Configuration.deprecation: mapred.reduce.tasks is deprecated. Instead, use mapreduce.job.reduces 
Exception in thread "main" java.lang.Throwable: GUESS: Data is missing from the path you provided. 
If you know what exactly caused this error, please consider contributing to GitHub via following link. 
https://github.com/twitter/scalding/wiki/Common-Exceptions-and-possible-reasons#comtwitterscaldinginvalidsourceexception 
    at com.twitter.scalding.Tool$.main(Tool.scala:132) 
    at com.twitter.scalding.Tool.main(Tool.scala) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:606) 
    at org.apache.hadoop.util.RunJar.main(RunJar.java:212) 

답변

3

나는 당신이 겪고있는 문제는 HDFS에서 실행 끓는을 말하고있다, 그러나 당신이 입력으로 제공하는 파일이 없습니다 HDFS에서, 로컬 파일 시스템에 있다고 생각합니다. 메이븐 그늘 플러그인을 사용하여 지방 항아리에 작업 팩을 ​​

hadoop fs -mkdir tutorial 
hadoop fs -mkdir tutorial/data 
hadoop fs -put tutorial/data/hello.txt tutorial/data/hello.txt 
+1

감사합니다 ! 작은 수정 :'hadoop fs -mkdir 튜토리얼/데이터 ' – DarqMoth

+0

사실, 통지하지 않았다. 나는 그것을 해결하기 위해 나의 대답을 편집했다. 다행히 도왔다! – Balduz

0

시도를하고 하둡 명령을 통해 끓는 작업을 실행 : 예제를 실행하기 전에 파일을 당신의 HDFS에 업로드

hadoop jar your-uber.jar com.twitter.scalding.Tool bar.foo.MyClassJob --hdfs --input ... --output ...