복붙노트

[HADOOP] .NET에서 Hadoop / Hive에 연결하는 방법

HADOOP

.NET에서 Hadoop / Hive에 연결하는 방법

나는 Hive가 실행중인 Hadoop 클러스터가있는 솔루션을 개발하기 위해 노력하고 있으며 .NET 어플리케이션에서 작업 및 하이브 쿼리를 보내 프로세스가 완료되면 알림을 얻고 싶습니다. 나는 자바 앱에서 직접적으로가 아닌 Hadoop과 인터페이스 할 수있는 솔루션을 찾을 수 없다. API에 접근 할 수 있는가?

해결법

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

    1.분명히 비 Java 솔루션으로 Hadoop에 연결할 수 있습니다. Java에서 내 애플리케이션을 작성해야합니까?를 참조하십시오.

    분명히 비 Java 솔루션으로 Hadoop에 연결할 수 있습니다. Java에서 내 애플리케이션을 작성해야합니까?를 참조하십시오.

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

    2.Hadoop을 사용하면 Hadoop 통신 계층이 Java에서만 작동하고 크로스 플랫폼이 아니기 때문에 C #에서 연결할 수있는 직접적인 방법이 없습니다. 그것은 가능하지만 아주 사소한 방법으로 가능합니다. Hadoop을위한 프로토콜 버퍼 지원을 추가하는 패치가 있다는 것을 알고 있지만 작성 시점 (2011 년 8 월)은 아직 공개되지 않았습니다.

    Hadoop을 사용하면 Hadoop 통신 계층이 Java에서만 작동하고 크로스 플랫폼이 아니기 때문에 C #에서 연결할 수있는 직접적인 방법이 없습니다. 그것은 가능하지만 아주 사소한 방법으로 가능합니다. Hadoop을위한 프로토콜 버퍼 지원을 추가하는 패치가 있다는 것을 알고 있지만 작성 시점 (2011 년 8 월)은 아직 공개되지 않았습니다.

    Hive는 C #을 지원하는 Thrift 인터페이스를 가지고 있으므로 상황이 더 좋습니다. Hive Thrift 인터페이스를 다운로드하고 C # 클라이언트를 직접 생성 할 수 있지만 생성 된 코드의 해킹이 필요합니다. 대신 https://bitbucket.org/vadim/hive-sharp/downloads/hive-sharp-lib.dll에서 dll을 다운로드하거나 Nuget 패키지 관리자를 사용하여 "hive"를 검색하도록 권장합니다. http://nuget.org /List/Packages/Hive.Sharp.Lib 면책 조항 : 저는 저자입니다.

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

    3.편집하다:

    편집하다:

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

    4.Thrift API는 다른 언어가 hdfs 및 하이브에 액세스하는 또 다른 방법입니다.

    Thrift API는 다른 언어가 hdfs 및 하이브에 액세스하는 또 다른 방법입니다.

  5. ==============================

    5.Microsoft의 ODBC 커넥터를 사용하여 C #을 사용하여 Hive에 액세스 할 수 있습니다. "Microsoft.Hadoop.Hive"에 대한 Nuget 패키지를 다운로드하고 http://msdn.microsoft.com/en-us/library/dn749834.aspx에 제공된 예제를 따르십시오.

    Microsoft의 ODBC 커넥터를 사용하여 C #을 사용하여 Hive에 액세스 할 수 있습니다. "Microsoft.Hadoop.Hive"에 대한 Nuget 패키지를 다운로드하고 http://msdn.microsoft.com/en-us/library/dn749834.aspx에 제공된 예제를 따르십시오.

    그 속임수는 연결 문자열을 연결하여 연결하는 데 있습니다. 가장 좋은 방법은 Microsoft Hive ODBC 드라이버 (http://www.microsoft.com/en-us/download/details.aspx?id=40886)를 다운로드하여 설치 한 다음 서버 탐색기를 사용하는 것입니다. Visual Studio에서 새 연결을 추가 한 다음 나를 위해 연결 문자열을 작성하십시오. 이렇게하려면 다음 단계를 사용했습니다.

    이 데이터 소스를 활용하거나 자신을 위해 만들어진 연결 문자열을 복사하여 응용 프로그램 내에서 사용하십시오.

  6. ==============================

    6.이것이 도움이되는지 확인하십시오. 나는 C #을 통해 Hadoop에 연결을 시도했다.

    이것이 도움이되는지 확인하십시오. 나는 C #을 통해 Hadoop에 연결을 시도했다.

    .NET / C #을 사용하여 Hive를 통해 Hadoop과 통신하는 방법

  7. ==============================

    7.https://hbasenet.codeplex.com/의 Hbase.Net 라이브러리 사용

    https://hbasenet.codeplex.com/의 Hbase.Net 라이브러리 사용

    그런 다음 아래와 같이 hbase / hive에 연결할 수 있습니다.

            Client c = new Client("10.20.14.179", 9090, 1000000);
    
            var cli = c.TotalClients;
    
            var tableList = c.GetTableNames();
    

    참고로 hortonworks 샌드 박스를 사용하고 있습니다.

    위의 예에서 10.20.14.179는 호스트이고 9090은 포트입니다.

    또한 https://community.hortonworks.com/questions/25101/is-there-a-way-to-connect-to-hbase-using-c.html에서 도움을 얻을 수도 있습니다.

    네이티브 C # HBase 클라이언트는 없습니다. 그러나 C #에서 HBase와 상호 작용할 수있는 몇 가지 옵션이 있습니다.

  8. from https://stackoverflow.com/questions/3493866/how-to-connect-to-hadoop-hive-from-net by cc-by-sa and MIT license