0

hdinsight の単純なマップ/リデューサー ジョブを作成しようとしていますが、 ASV://経由でローカルの hdinsight Hadoop クラスターのジョブをローカルの Azure ストレージ エミュレーターに接続する際に問題が発生しています。

次のようなサンプル コード:

var hadoop = Hadoop.Connect();
HadoopJobConfiguration config = new HadoopJobConfiguration();
config.InputPath = @"asv://127.0.0.1:10000/devstoreaccount1/testcontainer/input";
config.OutputFolder = "asv://127.0.0.1:10000/devstoreaccount1/testcontainer/output";
hadoop.MapReduceJob.Execute<Mapper1>(config);

また

var hadoop = Hadoop.Connect();
HadoopJobConfiguration config = new HadoopJobConfiguration();
config.InputPath = @"asv://testcontainer/input";
config.OutputFolder = "asv://testcontainer/output";
hadoop.MapReduceJob.Execute<Mapper1>(config);

ここで、testcontainerは、ローカル エミュレーターの BLOB ストレージ内の既存のコンテナーです。このコードを実行すると、StreamingException "Process failed ('Streaming Job Failed!')" が発生します。

コンソール出力に次のエラーが表示されます。

packageJobJar: [] [/C:/Hadoop/hadoop-1.1.0-SNAPSHOT/lib/hadoop-streaming.jar] C: \Users\user1\AppData\Local\Temp\1\streamjob6525516867576872971.jar tmpDir=null 
13/08/26 12:30:51 INFO util.NativeCodeLoader: Loaded the native-hadoop library 
13/08/26 12:30:51 WARN snappy.LoadSnappy: Snappy native library not loaded 
13/08/26 12:30:51 INFO mapred.JobClient: Cleaning up the staging area hdfs://loc alhost:8020/hadoop/hdfs/tmp/mapred/staging/user1/.staging/job_201308221229_0010 
13/08/26 12:30:51 ERROR security.UserGroupInformation: PriviledgedActionExceptio n as:user1 cause:org.apache.hadoop.mapred.InvalidInputException: Input path does  not exist: hdfs:/devstoreaccount1/testcontainer/input 
13/08/26 12:30:51 ERROR streaming.StreamJob: Error Launching job : Input path do es not exist: hdfs:/devstoreaccount1/testcontainer/input 

Streaming Command Failed!

ヒントはありますか?

4

1 に答える 1

0

次のいずれかのパスを使用して、ローカル ストレージ エミュレーターにアクセスできます。

wasb://testcontainer@storageemulator/input

wasb:///input (ストレージ エミュレーターがデフォルトのファイル システムとして設定されている場合)

asv:///input (ストレージ エミュレーターが既定のファイル システムとして設定されている場合、asv は廃止され、推奨されません)

于 2014-04-04T18:54:44.573 に答える