2013-07-03 5 views
0

HDInsight Server의 로컬 설치와 함께 Hadoop SDK, 특히 LINQ to Hive를 사용할 수 있습니까? Azure에서 호스팅되는 HDInsight 서비스를 언급하지는 않습니다.로컬 HDInsight 서버와 함께 Hadoop SDK 사용

Microsoft.Hadoop.Hive Nuget 패키지에서 LINQ to Live를 사용하려고했지만 LINQ to Hive에서 결과가 내 호스팅 된 인스턴스가 아니라 Azure Blob 저장소에 저장되어 있기 때문에 작동하지 않습니다. .

AzureException: org.apache.hadoop.fs.azure.AzureException: Container a7e3aa39-75ba-4cc2-a8aa-301257018146 in account hadooppartner not found, and we can't create it using anoynomous credentials. 

가 나는 또한 core-site.xml 파일을 한 번 더 자격 증명을 추가, 다음과 같이 : 맵리 듀스 작업이 실패 때문에 심지어 저장 키

var hiveConnection = new HiveConnection(new Uri("http://hadoop-poc.cloudapp.net:50111"), "hadoop", "hgfhdfgh", "hadoop", "hadooppartner", "StorageKey"); 
var metaData = hiveConnection.GetMetaData().Result; 
var result = hiveConnection.ExecuteQuery(@"select * from customer limit 1"); 

, 나는 일이 얻을 수 없습니다

그러나 가능한 경우 Azure 저장소에 결과를 저장하지 않을 것입니다.

도움 주셔서 감사합니다.

답변

1

저장소 계정 옵션없이 HiveConnection 생성자를 사용하여 로컬 설치에 연결할 수 있습니다. 물론

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

당신이 다음뿐만 아니라 모든 LINQ 쿼리에 대한 해당 연결을 사용할 수 있습니다 : 이것은 기본에 대해 로컬 상자에 HDInsights 개발자 미리보기의 설치를 사용할 수 있습니다.

+0

HDInsight가 설치되었지만 설치 프로세스 중에 http : // localhost : 50111 url이 구성되지 않았습니다. Hdinsight를 설치 한 후에 구성해야 할 부분입니까? – Kris

+0

을 확인하십시오. Apache Hadoop Templeton 서비스가 실행 중인지, 50111에 열리는 지 확인하십시오. –

+0

감사합니다. Simon, 확인하고 Templeton 서비스가 실행 중입니다. 명령 프롬프트에서 "telnet localhost 50111"명령을 사용하여 방화벽 문제가 아니며이 포트가 열려 있는지 확인했습니다. 다른 문제가있을 수 있으니 제발 – Kris

1

HiveConnection 생성자에서 전체 저장 계정 이름을 지정해야합니다 (즉, hadooppartner.blob.core.windows.net).

저는 여전히 저장소 계정없이 .NET LINQ API를 사용하고자합니다. 또한 다른 Hadoop 배포판에서 .NET API를 사용할 수 있습니까?

관련 문제