복붙노트

[HADOOP] C #을 사용하여 HBase / Hadoop 데이터베이스에 연결하는 방법

HADOOP

C #을 사용하여 HBase / Hadoop 데이터베이스에 연결하는 방법

최근에, Microsoft HDInsight Hadoop for Windows를 탐색했습니다.하지만 C # / asp.net mvc에서 apache hadoop을 어디에서 시작하고 사용할지 모릅니다.

http://hadoopsdk.codeplex.com/가 사용 가능한 최선의 리소스라는 것을 알고 있지만 처음부터 시작하는 문서를 찾을 수 없습니까? 클러스터, 데이터베이스를 생성 한 다음 C # app에 연결하는 것과 같습니다.

해결법

  1. ==============================

    1.시작하는 가장 쉬운 방법은 Azure에서 HDInsight 서비스를 사용하는 것입니다 (아직 미리보기에 있지만 잘 작동합니다). 그렇게하면 푸른 하늘에 로그인하여 클러스터를 회전 할 수 있습니다.

    시작하는 가장 쉬운 방법은 Azure에서 HDInsight 서비스를 사용하는 것입니다 (아직 미리보기에 있지만 잘 작동합니다). 그렇게하면 푸른 하늘에 로그인하여 클러스터를 회전 할 수 있습니다.

    클라우드에 직접 가고 싶지 않다면 웹 플랫폼 설치 프로그램을 통해 HDInsight 개발자 미리보기 패키지를 다운로드하면 단일 노드 로컬 클러스터가 생성됩니다. 또는 'just had'에 관심이 있다면 Hortonworks 또는 Cloudera에서 제공하는 VM을 사용해 볼 수 있습니다.

    그 후에는 SQL에 익숙하다면 Hive로 시작하는 것이 좋습니다. Hadoop에 대한 O'Reilly Definitive Guide는 꽤 좋습니다.

    .NET 관점에서 볼 때 codeplex의 hadoopsdk은 시작하기 좋은 곳입니다.

    아주 기본적인 연결 예제가 있다면 예제를 통해이 블로그를 시도해보십시오.하지만 이제는 HDInsight에 대한 연결이 약간 다릅니다. 이제는 templeton 인터페이스를 사용하기 때문에 이것이 가능해집니다 :

    var db = new HiveConnection(
            webHCatUri: new Uri("http://localhost:50111"),
            userName: (string) "hadoop", password: (string) null);
    var result = db.ExecuteHiveQuery("select * from w3c");
    

    HDInsight에서 MapReduce를 완벽하게 활용하고자한다면 C # MapReduce 예제와 codeplex의 sdk를 살펴보고 싶을 것입니다.

    기본 HDInsight 설치에는 약간의 데이터가 포함되어있는 몇 가지 좋은 샘플과 일부 PowerShell 스크립트 및 .NET 코드가 포함되어 있습니다.

    즐겨!

  2. ==============================

    2.HBase-sharp 프로젝트가 유용 할 수 있습니다. 자세한 정보는 해당 bitbucket 페이지를 방문하십시오. 나에게 약속 한 것 같아. 또한 예제도 포함되어 있습니다. 여기에서 찾을 수 있습니다.

    HBase-sharp 프로젝트가 유용 할 수 있습니다. 자세한 정보는 해당 bitbucket 페이지를 방문하십시오. 나에게 약속 한 것 같아. 또한 예제도 포함되어 있습니다. 여기에서 찾을 수 있습니다.

    HTH

  3. ==============================

    3.HDInsight 팀의 https://github.com/hdinsight/hbase-sdk-for-net을 확인하십시오.

    HDInsight 팀의 https://github.com/hdinsight/hbase-sdk-for-net을 확인하십시오.

  4. ==============================

    4.Microsoft는 6 월에 Nuget.org에서 Phoenix / Hbase 용 .NET ProtoBuf 클라이언트의 미리보기를 발표했습니다. API는 잘 작동하지만 API는 나에게 익숙하지 않은 것으로 나타났습니다. 내가 배운 것처럼 .NET Framework System.Data IDbConnection, IDbCommand 외 래퍼 API를 구현하여 Garuda.Data라는 이름으로 사용했습니다. 그것은 피닉스 / Hbase에 .NET 코드에서 SqlConnection, SqlCommand, 등 거의 같은 SQL Server에 대한 느낌 - 체크 아웃 : https://www.nuget.org/packages/Garuda.Data/

    Microsoft는 6 월에 Nuget.org에서 Phoenix / Hbase 용 .NET ProtoBuf 클라이언트의 미리보기를 발표했습니다. API는 잘 작동하지만 API는 나에게 익숙하지 않은 것으로 나타났습니다. 내가 배운 것처럼 .NET Framework System.Data IDbConnection, IDbCommand 외 래퍼 API를 구현하여 Garuda.Data라는 이름으로 사용했습니다. 그것은 피닉스 / Hbase에 .NET 코드에서 SqlConnection, SqlCommand, 등 거의 같은 SQL Server에 대한 느낌 - 체크 아웃 : https://www.nuget.org/packages/Garuda.Data/

    다음은 github 프로젝트 저장소입니다. https://github.com/dwdii/GarudaUtil

    그리고 몇 가지 예제 코드 :

    using (IDbConnection phConn = new PhoenixConnection())
    {
        phConn.ConnectionString = cmdLine.ConnectionString;
    
        phConn.Open();
    
        using (IDbCommand cmd = phConn.CreateCommand())
        {
            cmd.CommandText = "SELECT * FROM GARUDATEST";
            using (IDataReader reader = cmd.ExecuteReader())
            {
                while(reader.Read())
                {
                    for(int i = 0; i < reader.FieldCount; i++)
                    {
                        Console.WriteLine(string.Format("{0}: {1}", reader.GetName(i), reader.GetValue(i)));
                    }
                }
            }
        }                        
    }
    
  5. from https://stackoverflow.com/questions/17866600/how-to-connect-to-hbase-hadoop-database-using-c-sharp by cc-by-sa and MIT license