2013-08-22 42 views
4

任務是在Azure雲中實施ETL項目的部分(變換)。我相信HDInsight是適合它的服務,但不確定。請批准或反駁此選擇。Azure + HDInsight的本地模擬

我對這個領域頗爲陌生,如果有人能指出我在這裏的正確方向,我將不勝感激。

我希望能夠開發出轉換服務(工作),並使用Azure存儲/計算仿真器進行本地測試的Visual Studio 2012(理想情況下在C#)。我非常確定HDInsight如何適合這張照片(如果有的話)。轉換作業將從blob存儲讀取文本文件並生成(映射減少)數據到azure表存儲。

+0

我首先可能會將其分成兩個問題:一個是在本地執行HDInsight代碼,另一個是關於部署自動化的問題。要回答前者,你有兩種選擇,在本地啓動並運行Hadoop集羣(HDInsight只是一個託管Hadoop集羣),或者在Windows Azure中啓動一個,然後從本地開發環境訪問它。兩者都伴隨着各種成本(人工與計算費用)和難度水平。但是要麼應該工作。 – BrentDaCodeMonkey

回答

1

你當然可以在本地運行的HDInsight箱。這與Azure存儲和計算機仿真是分開的,並且通過Web Platform安裝程序(僅搜索HDInsight)安裝。

本地版本和Azure版本之間存在一些細微的差異,因爲本地版本與存儲在HDFS中的數據一起使用,而在雲中您可以使用Azure Blob容器。就開發和測試轉換進程而言(在MapReduce/Hive/Pig中),這並沒有真正的區別。唯一的區別是你會得到數據的方式。

請注意,您當然可以在HDInsight上使用C#創建MapReduce作業,對於基本數據轉換,使用更高級的語言(如Pig)或HDInsight上的基於SQL的HiveQL可能會更容易。

+0

我已經明白,hdinsight是一個天藍色的hadoop集羣,它絕對是獨立的,並且不隨Azure SDK一起提供。 – Paul

0

您需要在T轉換和自動化的等級上劃定一條線,以期望實現。

我建議你採取了從BLOB拉高數據,並進行簡單的控制檯應用程序變換

原因提出了這個控制檯應用程序的方法

  1. 容易,向前伸直,相同的技能
  2. 用於blob和table的好的SDK做你想做的任何事
  3. Map-Reduce(HDInsight)是你Azure存儲和c#系列中的全新物種。我聽說HDInsight是好的,但不知道它對你來說足夠好。
  4. 如果你有一個控制檯應用程序,你可以很容易地任務調度它,離開它運行基於發佈 - 訂閱模式
  5. 如果您使用的是自己的C# - 控制檯應用程序或.exe,你可以很容易地調整它運行Azure工作者角色。
  6. 以你自己的應用程序的方法將刪除安裝的頭頂和設置HDInsight
  7. 成本方面工作者的角色是價格比HDInsight
相關問題