2014-05-01 3 views
1

이 튜토리얼 http://azure.microsoft.com/en-us/documentation/articles/hdinsight-use-hive/을 따라갈 것이지만 파일을 사용하도록 쿼리 소스를 변경할 때 막혔습니다.HDInsight에서 HQL 파일을 사용할 때 ParseExceptions

Logging initialized using configuration in file:/C:/apps/dist/hive-0.11.0.1.3.7.1-01293/conf/hive-log4j.properties 
FAILED: ParseException line 1:0 character 'Ã?' not supported here 
line 1:1 character '»' not supported here 
line 1:2 character '¿' not supported here 

을 내가 일부러 철자 경우에도 : New-AzureHDInsightHiveJobDefinition -Query $queryString를 사용할 때하지만 난 ExitCode를 40000 얻을 블롭 컨테이너의 "루트"에 저장 example.hqlNew-AzureHDInsightHiveJobDefinition -File "/example.hql"을 시도하고 standarderror에서 다음을 때 모두가 행복하게 작동

hql 파일 이름 위의 오류가 여전히 예상 파일을 찾을 수 없습니다 오류와 함께 생성되므로 오류의 원인이되는 hql의 내용이 아닙니다.

블롭 저장소에서 hive-log4j.properties를 찾을 수 없어서 손상되었는지, HDInsight 클러스터를 해체하고 연결된 BLOB 저장소를 삭제 한 다음 다시 시작했지만 동일한 결과가 나타났습니다. .

정말 도움이 되겠습니까?

답변

3

Utf-8 또는 Unicode 인코딩 .hql 파일을 BLOB 저장소에 넣고 실행하려고하면 유사한 오류가 발생할 수 있습니다. example.hql 파일을 메모장에 'ANSI'로 저장 한 다음 (열기, 다른 이름으로 저장, 인코딩 옵션은 대화 상자 하단에 있음) 시도한 다음 BLOB 저장소에 복사 한 다음 다시 시도하십시오.

파일이 Start-AzureHDInsightJob에 없으면 해당 cmdlet이 오류를 나타내며 새 AzureHDInsightJob 개체를 반환하지 않습니다. 결과의 이전 인스턴스가 저장된 경우 다음 Wait-AzureHDInsightJob 및 Get-AzureHDInsightJobOutput은 이전 실행을 나타낼 것이므로 에 대해 동일한 오류가 발생한다고 생각하면 사례가 나타납니다. 이 오류는 예상치 못한 경우 UTF-8 또는 유니 코드 파일을 읽는 데 문제가 있음을 분명히 나타내야합니다.

+0

고맙지 만 나는 그것이 hql의 내용이 아니라고 확신합니다. 고의적으로 hql 파일의 이름을 잘못 지정했고 찾을 수없는 파일과 함께 같은 오류가 발생했습니다. –

+0

'Start-AzureHDInsightJob'을 할 때 파일 오류가 발생합니까? 파일이 Start-AzureHDInsightJob에서 발견되지 않으면 해당 cmdlet은 오류가 발생하고 새로운 'AzureHDInsightJob' 개체를 반환하지 않습니다. 결과의 이전 인스턴스가 저장된 경우 다음 Wait-AzureHDInsightJob 및 Get-AzureHDInsightJobOutput은 이전 실행을 나타낼 수 있습니다. – RickH

+0

무슨 뜻인지 알 겠어. 오늘 저녁 늦게 실험 (영국 시간)에 답해 주셔서 감사합니다. –