我有一个带有blob存储的“hadoop on windows”集群( log-container
在 logfstore
)作为默认存储配置(输入和输出从那里读写)。
我使用mapreducesdk在c#中编写和管理mapper和reducer。
如何从c代码中访问blob存储上的其他文件?
我尝试了以下方法: File.ReadAllLines(@"/log100by10/Input/filelist_short.txt");
结果:找不到路径“c:\log100by10\input\filelist\u short.txt”的一部分异常 File.ReadAllLines(@"log100by10/Input/filelist_short.txt");
结果:找不到路径“c:\apps\temp\hdfs\nm local dir\usercache\admin\appcache\application\u 1453123456785\u 0006\container\u 1453123456785\u 0006\u 01\u000002\log100by10\input\filelist\u short.txt”的一部分 File.ReadAllLines(@"wasb://log100by10/Input/filelist_short.txt");
结果:不支持给定路径的格式 File.ReadAllLines(@"wasb://log-container@logfstore/log100by10/Input/filelist_short.txt");
结果:不支持给定路径的格式
整个Map器看起来像:
using System;
using System.Collections.Generic;
using System.IO;
using Microsoft.Hadoop.MapReduce;
namespace AzureTest.MultiTest
{
class MultiTestMapper : MapperBase
{
public override void Map(string inputLine, MapperContext context)
{
string path = @"/log100by10/Input/filelist_short.txt";
try
{
string[] text = File.ReadAllLines(path);
context.EmitKeyValue("****input ",text[0]);
}
catch(Exception ex)
{
context.EmitKeyValue("****error ", ex.Message);
}
}
}
}
暂无答案!
目前还没有任何答案,快来回答吧!