public static void Copy(Uri myUri, string destFolderName) { WebHDFSClient myClient = new WebHDFSClient(myUri, "hadoop"); //drop destination directory (if exists) // myClient.DeleteDirectory(destFolderName, true).Wait(); ////create destination directory // myClient.CreateDirectory(destFolderName).Wait(); ////load file to destination directory // string srcFileName = "D:\\IDE\\DATA SETS\\recipeitems-latest.json"; // myClient.CreateFile(srcFileName, destFolderName + "/" + "recipeitems-latest.json").Wait(); var a = myClient.GetDirectoryStatus(destFolderName); var d = a.GetAwaiter(); d.OnCompleted(() => { var c = d.GetResult().Files.ToList(); foreach (var VARIABLE in c) { Console.WriteLine(VARIABLE.PathSuffix); } Console.Read(); }); var f=myClient.OpenFile(destFolderName + "/4300.txt").GetAwaiter(); f.OnCompleted(() => { Console.WriteLine(f.GetResult().ToString()); }); //var b = myClient.GetFileStatus(destFolderName + "/part-00000").GetAwaiter(); //b.OnCompleted(() => //{ // var s= b.GetResult(); //}); //Console.Read(); }
public static void GetFile(string folderName, string fileName, string uri, string localfolder) { try { //connect to hadoop cluster Uri myUri = new Uri(uri); string userName = "******"; WebHDFSClient myClient = new WebHDFSClient(myUri, userName); string newpathfile = folderName + "/" + fileName; //list file contents of destination directory Console.WriteLine(); Console.WriteLine("Get of file on " + newpathfile); var ss = myClient.OpenFile(newpathfile); //Console.WriteLine(ss.Result); string localFilePath = localfolder + "\\" + fileName; Stream output = File.OpenWrite(localFilePath); Task taskx = ss.Result.Content.ReadAsStreamAsync().ContinueWith(t => { var stream = t.Result; stream.CopyTo(output); }); Console.WriteLine("Download succeeded."); Console.ReadLine(); } catch (Exception ex) { Console.WriteLine(ex.ToString()); Console.ReadLine(); } }