그래서 저는 예리한 관심을 가지고 Hadoop 을 살펴 보았습니다. 솔직히 말해서 매료되었습니다.
내 유일한 사소한 문제는 C # 개발자이고 Java에 있다는 것입니다.
Hadoop.net 또는 NHadoop 또는 Google MapReduce 접근 방식 을 포용하는 .NET 프로젝트를 찾는 것만 큼 Java를 이해하지 못하는 것은 아닙니다 . 아는 사람 있나요?
그래서 저는 예리한 관심을 가지고 Hadoop 을 살펴 보았습니다. 솔직히 말해서 매료되었습니다.
내 유일한 사소한 문제는 C # 개발자이고 Java에 있다는 것입니다.
Hadoop.net 또는 NHadoop 또는 Google MapReduce 접근 방식 을 포용하는 .NET 프로젝트를 찾는 것만 큼 Java를 이해하지 못하는 것은 아닙니다 . 아는 사람 있나요?
답변:
Hadoop의 스트리밍 을 사용해 보셨습니까 ?
나는 항상 파이썬에서 그것을 사용합니다 :-).
이기종 접근 방식이 종종 최고이고 다른 사람들도 똑같이하는 것처럼 보입니다.
프로토콜 버퍼 나 페이스 북의 절약과 같은 프로젝트를 살펴보면 때로는 다른 언어로 작성된 앱을 사용하고 선호하는 언어로 접착제를 만드는 것이 최선이라는 것을 알 수 있습니다.
최근 MySpace는 .NET MapReduce 프레임 워크 인 Qizmt 를 오픈 소스로 출시 했기 때문에이 분야에서도 잠재적 인 경쟁자입니다.
여기 소스에서 말하려면 :
Microsoft 는 Hadoop을 위해 대안 ( Dryad )을 삭제 했습니다 . 내년에는 하둡 통합이 적용된 MS SQL Server 2012를 출시 할 예정입니다. Azure 및 Windows Sever 지원은 우리가 말하는 것처럼 개발되고 있습니다.
2012 년 상반기에 출시 될 예정입니다.
Hadoop은 # 1 BigData 플랫폼이며 Oracle이 채택하고있는 오픈 소스 및 독점 소스 (Java, .Net, Python 등)에서 지원 될 것입니다.
무언가를 개발 중이라면 .Net 플랫폼을 사용하고 있다면 기다려야합니다.
DryadLinq는 우리 .NET 사람들이 Hadoop에 가장 가까운 것입니다. 그러나 그것은 당신이 hadoop을 사용하려는 것에 달려 있습니다. 최적화 된 자체 유지 관리 분산 파일 (DFS) 시스템을 찾고 있다면 DryadLINQ 찾고 가 것이 아닙니다. DFS와 유사하지만 수동으로 파티션을 빌드하고 각 파티션을 배포해야합니다.
즉, DryadLINQ보다 찾고있는 Hadoop의 분산 실행 측면이 정말 훌륭하다면 (아니요, 저는 MS와 관련이 없습니다). 언제 까지나 당신이 가지고있는 마이크로 소프트의 HPC 점점보다 클러스터 설정을 DryadLINQ로가는 것은 정말 쉽습니다.
작성하는 코드는 LINQ를 실행하는 대신 (자체 빌드 분산 데이터 구조) IEnumerable<T>
실행해야 한다는 점을 제외하면 실제로는 단순한 LINQ 코드 PartitionedTable<T>
입니다.
DryadLINQ의 정말 멋진 점은 알고리즘을 개발할 때 시간을 빠르게 처리 (시도, 테스트, 조정, 반복) 할 수 있다는 것입니다. LINQ 코드를 작성하여 계산을 수행하면 DryadLINQ가 전체 분산 실행 부분을 처리합니다. 단일 프로세스 처리를위한 코드를 작성하는 것처럼 분산 처리를위한 코드를 작성하는 것은 제가 본 것 중 가장 자연스러운 아날로그입니다.
RavenDb와 같은 것을 살펴볼 수 있으며 상당히 큰 크기의 데이터에 대해 MapReduce를 매우 적절하게 지원합니다. .Net에 내장되어 있으므로 적절한 LINQ 클라이언트 API를 사용할 수 있습니다.
시작하려면 내 블로그 entery를 읽을 수 있습니다 .
Apache Hadoop은 Yahoo 및 Facebook과 같은 업계의 거대 기업이 적극적으로 개발하고 유지 관리하고 있기 때문에 Apache Hadoop 및 스트리밍을 사용하는 것이 더 나을 수 있습니다. 그래서 그것은 당신이 기대하는 것을 할 수 있습니다.
.NET에서 솔루션이 필요한 경우 MySpace 구현 @ MySpace Qizmt-MySpace의 오픈 소스 Mapreduce 프레임 워크를 확인하십시오.
Microsoft는 "100 % Apache 호환 Hadoop 배포"로 청구되는 HDInsight를 배포하는 중입니다.
Windows Server와 Windows Azure 서비스 모두에서 사용할 수 있습니다.
Microsoft Research에는 프로젝트 Daytona가 있습니다. http://research.microsoft.com/en-us/projects/daytona/
다운로드 할 수 있습니다. C #에는 WordCount 샘플이 있습니다.
이제 .NET에서 직접 Hadoop을 사용할 수 있습니다. Microsoft는이를 위해 SDK를 출시했습니다.
https://hadoopsdk.codeplex.com/
물론 이것은 자바 기반 하둡 네트워크를 사용하는 것을 의미합니다. 그러나 서버가 Java에서 실행 중인지 여부가 중요합니까? 나는 누군가가 그것을 포팅하려고 할 것이라고 확신하지만 기업이 이미 자바 버전을 지원하고 있고 .NET 포트가 같은 관심을 끌 것이라고 생각하지 않기 때문에 좋은 생각이 아닐 것입니다.
보세요 :
http://www.windowsazure.com/en-us/services/hdinsight/
Azure 용 Hadoop의 구현이며 .NET을 사용하여 액세스 할 수 있습니다.
내부적으로 Microsoft는 Cosmos를 사용하고 있습니다. 이것은 Azure를 통해 Microsoft 외부에서 사용할 수 있습니다. 이름은 Azure Data Lake Analytics 및 Azure Data Lake Store 입니다. Azure Data Lake 분석은 일종의 Yarn as a Service이고 Azure Data Lake Store WebHDFS는 서비스입니다. Azure Data Lake Analytics의 첫 번째 버전은 Transact-SQL + C # 기반 언어 인 U-SQL 만 호스팅합니다.
.NET에 대한 매우 귀여운 MapReduce 구현이 있습니다 : http://mapsharp.codeplex.com/
dryad / linq는 제품화 중이며 곧 출시 될 예정입니다. http://blogs.technet.com/b/windowshpc/archive/2011/07/07/announcing-linq-to-hpc-beta-2.aspx 함께 사용 비정형 데이터를 처리하기위한 강력한 클러스터 기반 솔루션을위한 Microsoft HPC