<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        ASP.NET實現Hadoop增刪改查的示例代碼

        來源:懂視網 責編:小采 時間:2020-11-27 22:35:28
        文檔

        ASP.NET實現Hadoop增刪改查的示例代碼

        ASP.NET實現Hadoop增刪改查的示例代碼:本文介紹了ASP.NET實現Hadoop增刪改查的示例代碼,分享給大家,具體如下: packages.config <?xml version=1.0 encoding=utf-8?> <packages> <package id=Microsoft.AspNet.Web
        推薦度:
        導讀ASP.NET實現Hadoop增刪改查的示例代碼:本文介紹了ASP.NET實現Hadoop增刪改查的示例代碼,分享給大家,具體如下: packages.config <?xml version=1.0 encoding=utf-8?> <packages> <package id=Microsoft.AspNet.Web

        本文介紹了ASP.NET實現Hadoop增刪改查的示例代碼,分享給大家,具體如下:

        packages.config

        <?xml version="1.0" encoding="utf-8"?>
        <packages>
         <package id="Microsoft.AspNet.WebApi.Client" version="4.0.20505.0" targetFramework="net46" />
         <package id="Microsoft.Data.Edm" version="5.2.0" targetFramework="net46" />
         <package id="Microsoft.Data.OData" version="5.2.0" targetFramework="net46" />
         <package id="Microsoft.Hadoop.WebClient" version="0.12.5126.42915" targetFramework="net46" />
         <package id="Microsoft.Net.Http" version="2.0.20505.0" targetFramework="net46" />
         <package id="Microsoft.WindowsAzure.ConfigurationManager" version="1.8.0.0" targetFramework="net46" />
         <package id="Newtonsoft.Json" version="4.5.11" targetFramework="net46" />
         <package id="System.Spatial" version="5.2.0" targetFramework="net46" />
         <package id="WindowsAzure.Storage" version="2.0.4.1" targetFramework="net46" />
        </packages>

        HDFSAccess.cs

        using Microsoft.Hadoop.WebHDFS;
        using System;
        using System.Collections.Generic;
        using System.Linq;
        using System.Net.Http;
        
        namespace Physical
        {
         public sealed class HDFSAccess
         {
         private readonly WebHDFSClient webHDFSClient;
        
         public HDFSAccess(string uriString, string userName)
         {
         this.webHDFSClient = new WebHDFSClient(new Uri(uriString), userName);
         }
        
         public List<string> GetDirectories(string path)
         {
         var directoryStatus = this.webHDFSClient.GetDirectoryStatus(path).Result;
        
         return directoryStatus.Directories.Select(d => d.PathSuffix).ToList();
         }
        
         public List<string> GetFiles(string path)
         {
         var directoryStatus = this.webHDFSClient.GetDirectoryStatus(path).Result;
        
         return directoryStatus.Files.Select(d => d.PathSuffix).ToList();
         }
        
         public bool CreateDirectory(string path)
         {
         // 傳入路徑不包含根目錄時,預設會在根目錄「/」底下
         return this.webHDFSClient.CreateDirectory(path).Result;
         }
        
         public bool DeleteDirectory(string path)
         {
         // 傳入路徑不包含根目錄時,預設會在根目錄「/」底下
         return this.webHDFSClient.DeleteDirectory(path).Result;
         }
        
         public string CreateFile(string localFile, string remotePath)
         {
         // 傳入遠端路徑不包含根目錄時,預設會在根目錄「/」底下
         return this.webHDFSClient.CreateFile(localFile, remotePath).Result;
         }
        
         public bool DeleteFile(string path)
         {
         // 傳入路徑不包含根目錄時,預設會在根目錄「/」底下
         return this.webHDFSClient.DeleteDirectory(path).Result;
         }
        
         public HttpResponseMessage OpenFile(string path)
         {
         // 傳入路徑不包含根目錄時,預設會在根目錄「/」底下
         return this.webHDFSClient.OpenFile(path).Result;
         }
         }
        }
        

        Program.cs

        using Physical;
        using System;
        using System.Collections.Generic;
        using System.IO;
        using System.Linq;
        using System.Text;
        using System.Threading.Tasks;
        
        namespace MyTest
        {
         class Program
         {
         // HDFS cluster 客戶端進入端點設定于 主機上
         // 預設端點:http://[主機名稱]:50070
         // 預設帳號:Wu
         private static HDFSAccess access = new HDFSAccess(@"http://127.0.0.1:50070", "Wu");
        
         static void Main(string[] args)
         {
         GetDirectoriesTest();
         Console.WriteLine("----------------------------------------------");
         GetFilesTest();
         Console.WriteLine("----------------------------------------------");
         DirectoryTest();
         Console.WriteLine("----------------------------------------------");
         FileTest();
         Console.WriteLine("----------------------------------------------");
         OpenFileTest();
         Console.ReadKey();
         } 
        
         public void TestCleanup()
         {
         //取得根目錄資料夾
         var directories = access.GetDirectories(@"/");
        
         // 移除預設目錄:tmp、user 外的目錄
         foreach (var directory in directories)
         {
         if ("tmp".Equals(directory) || "user".Equals(directory))
         {
         continue;
         }
         else
         {
         access.DeleteDirectory(directory);
         }
         }
        
         // 取得根目錄檔案
         var files = access.GetFiles(@"/");
        
         // 移除所有檔案
         foreach (var file in files)
         {
         access.DeleteFile(file);
         }
        
         // 移除 OpenFile 轉存檔案
         File.Delete(Path.Combine(Directory.GetCurrentDirectory(), "Test.jpg"));
         }
        
         //_傳入根目錄_預期回傳預設目錄
         public static void GetDirectoriesTest()
         {
         // 預設根目錄下有兩個目錄:tmp、user
         var expected = new List<string>() { "tmp", "user", };
        
         var actual = access.GetDirectories(@"/");
        
         foreach (var item in actual)
         {
         Console.WriteLine(item);
         }
        
         }
        
         //_傳入根目錄_預期回傳空集合
         public static void GetFilesTest()
         {
         // 預設根目錄下沒有檔案
         var expected = new List<string>();
        
         var actual = access.GetFiles(@"/");
         foreach (var item in actual)
         {
         Console.WriteLine(item);
         }
        
         }
        
         //_建立zzz目錄_預期成功_預期根目錄下有zzz目錄_刪除zzz目錄_預期成功_預期根目錄下無zzz目錄
         public static void DirectoryTest()
         {
         var directoryName = "zzz";
        
         // 建立zzz目錄
         var boolCreateDirectory = access.CreateDirectory(directoryName);
        
         Console.WriteLine("建立zzz目錄_預期成功:"+boolCreateDirectory);
        
         // 建立zzz目錄_預期成功_預期根目錄下有zzz目錄
         // 預設根目錄下有三個目錄:tmp、user、zzz
         var expectedCreateDirectory = new List<string>() { "tmp", "user", directoryName, };
        
         var actualCreateDirectory = access.GetDirectories(@"/");
        
        
         foreach (var item in actualCreateDirectory)
         {
         Console.WriteLine(item);
         }
        
         Console.WriteLine("********************************************");
         // 刪除zzz目錄
         var boolDeleteDirectory = access.DeleteDirectory(directoryName);
        
         Console.WriteLine("刪除zzz目錄_預期成功:" + boolDeleteDirectory);
        
        
         // 刪除zzz目錄_預期成功_預期根目錄下無zzz目錄
         // 預設根目錄下有兩個目錄:tmp、user
         var expectedDeleteDirectory = new List<string>() { "tmp", "user", };
        
         var actualDeleteDirectory = access.GetDirectories(@"/");
        
         foreach (var item in actualDeleteDirectory)
         {
         Console.WriteLine(item);
         }
         }
        
         //_建立Test檔案_預期根目錄下有Test檔案_刪除Test檔案_預期成功_預期根目錄下無Test檔案
         public static void FileTest()
         {
         var localFile = Path.Combine(Directory.GetCurrentDirectory(), "TestFolder", "Test.jpg");
        
         var remotePath = "Test.jpg";
        
         // 建立Test檔案
         var boolCreateFile = access.CreateFile(localFile, remotePath);
        
         // 建立Test檔案_預期根目錄下有Test檔案
         var expectedCreateFile = new List<string>() { remotePath, };
        
         var actualCreateFile = access.GetFiles(@"/");
        
         foreach (var item in actualCreateFile)
         {
         Console.WriteLine(item);
         }
         Console.WriteLine("********************************************");
         // 刪除Test檔案
         var boolDeleteFile = access.DeleteDirectory(remotePath);
        
         Console.WriteLine("刪除Test檔案_預期成功:"+boolDeleteFile);
        
         // 刪除Test檔案_預期成功_預期根目錄下無Test檔案
         var expectedDeleteFile = new List<string>();
        
         var actualDeleteFile = access.GetFiles(@"/");
        
         foreach (var item in actualDeleteFile)
         {
         Console.WriteLine(item);
         }
         }
        
         //_建立Test檔案_預期根目錄下有Test檔案_取得Test檔案_預期成功_預期回傳Test檔案Stream并轉存成功
         public static void OpenFileTest()
         {
         var localFile = Path.Combine(Directory.GetCurrentDirectory(), "TestFolder", "Test.jpg");
         var remotePath = "Test.jpg";
         var saveFile = Path.Combine(Directory.GetCurrentDirectory(), "Test.jpg");
        
         Console.WriteLine("saveFile:" + saveFile);
         Console.WriteLine("********************************************");
         // 建立Test檔案
         var boolCreateFile = access.CreateFile(localFile, remotePath);
        
         // 建立Test檔案_預期根目錄下有Test檔案
         var expectedCreateFile = new List<string>() { remotePath, };
        
         var actualCreateFile = access.GetFiles(@"/");
        
         foreach (var item in actualCreateFile)
         {
         Console.WriteLine(item);
         }
        
        
         Console.WriteLine("********************************************");
         // 取得Test檔案
         var response = access.OpenFile(remotePath);
        
         // 取得Test檔案_預期成功
         response.EnsureSuccessStatusCode();
        
         // 取得Test檔案_預期成功_預期回傳Test檔案Stream并轉存成功
         using (var fs = File.Create(saveFile))
         {
         response.Content.CopyToAsync(fs).Wait();
         }
        
         Console.WriteLine(File.Exists(saveFile));
        
         }
         }
        }
        

        運行結果如圖:

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        ASP.NET實現Hadoop增刪改查的示例代碼

        ASP.NET實現Hadoop增刪改查的示例代碼:本文介紹了ASP.NET實現Hadoop增刪改查的示例代碼,分享給大家,具體如下: packages.config <?xml version=1.0 encoding=utf-8?> <packages> <package id=Microsoft.AspNet.Web
        推薦度:
        標簽: 實現 代碼 示例
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 美女视频黄频a免费观看| 免费国产高清毛不卡片基地 | 亚洲av无码一区二区三区人妖| 久久狠狠躁免费观看2020| 亚洲精品中文字幕乱码三区| 亚洲国产精品久久久久婷婷老年| a级毛片毛片免费观看永久| 国产亚洲一区二区三区在线不卡| 一级黄色免费网站| 亚洲综合国产一区二区三区| 成av免费大片黄在线观看| 亚洲日韩欧洲乱码AV夜夜摸| 久久精品国产大片免费观看| 亚洲国产成人精品久久| 午夜毛片不卡高清免费| 色多多免费视频观看区一区| 国产亚洲AV手机在线观看 | 成人a毛片视频免费看| 91青青青国产在观免费影视| 亚洲的天堂av无码| 成人免费ā片在线观看| 亚洲色欲色欲www在线丝| 久久国产乱子免费精品| 2020亚洲男人天堂精品| 免费人成视网站在线观看不卡| 亚洲国产中文在线视频| 精品国产免费一区二区| GOGOGO免费观看国语| 免费人成在线观看视频播放| a毛片免费在线观看| 亚洲视频国产精品| 99re6热视频精品免费观看| 亚洲日韩精品无码AV海量| 中文字幕免费在线看线人 | 国产日韩精品无码区免费专区国产 | 久久精品国产亚洲av品善| 69成人免费视频无码专区| 亚洲综合精品一二三区在线| 毛片免费视频播放| 亚洲AV日韩AV高潮无码专区| 成年女人免费v片|