복붙노트

[HADOOP] 하이브 기능 분기 () 반환 '잘못된 기능'

HADOOP

하이브 기능 분기 () 반환 '잘못된 기능'

이 함수 분기 () 하이브 1.3에 도입 된 말한다

https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF#LanguageManualUDF-DateFunctions

나는 하둡을 실행하는 HDInsight의 기본 버전 (3.1)을 사용하고 있습니다 :

https://azure.microsoft.com/en-us/documentation/articles/hdinsight-component-versioning/

내가 얻을 분기 기능을 사용하려고하면 :

로그 파일에 구성을 사용하여 초기화 : / C를 : /apps/dist/hive-0.13.0.2.1.15.1-0001/conf/hive-log4j.properties를 SLF4J : 클래스 경로는 여러 SLF4J 바인딩이 포함되어 있습니다. SLF4J는 : 파일 : [항아리에 바인딩 발견 / C :! /apps/dist/hadoop-2.4.0.2.1.15.1-0001/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar / 조직 /slf4j/impl/StaticLoggerBinder.class] SLF4J는 : 파일 : [항아리에 바인딩 발견 / C :! /apps/dist/hbase-0.98.0.2.1.15.1-0001-hadoop2/lib/slf4j-log4j12-1.6.4.jar / 조직 / SLF4J / IMPL /StaticLoggerBinder.class] SLF4J : 대한 설명은 http://www.slf4j.org/codes.html#multiple_bindings를 참조하십시오. SLF4J : 실제 결합이 타입이다 org.slf4j.impl.Log4jLoggerFactory] 실패 : SemanticException [오류 10011] : 행 10 : 1 개 잘못된 기능 '분기'

나는 무엇을 놓치고?

해결법

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

    1.불행하게도 HDInsight 3.1은 하이브 0.13.1을 실행하고 분기 기능은 버전 1.3까지 사용할 수 없습니다. 여기 하이브 자료를 모두 볼 수 있습니다

    불행하게도 HDInsight 3.1은 하이브 0.13.1을 실행하고 분기 기능은 버전 1.3까지 사용할 수 없습니다. 여기 하이브 자료를 모두 볼 수 있습니다

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

    2.당신이 분기 (지원하지 않는 하이브의 이전 버전)에있는 경우,이 시도 :

    당신이 분기 (지원하지 않는 하이브의 이전 버전)에있는 경우,이 시도 :

    ceil(month(date) / 3.0)
    
  3. ==============================

    3.HDInsight의 다양한 버전의 하이브 버전은 아래와 같습니다. 이에 따라, 귀하의 하이브 버전 0.13.1하고 분기 하이브 버전 1.3에서 지원됩니다.

    HDInsight의 다양한 버전의 하이브 버전은 아래와 같습니다. 이에 따라, 귀하의 하이브 버전 0.13.1하고 분기 하이브 버전 1.3에서 지원됩니다.

    HDINSIGHT 버전 3.2- 하이브-0.14.0

    HDINSIGHT 버전 3.1- 하이브-0.13.1

    HDINSIGHT 버전 3.0- 하이브-0.12.0

    HDINSIGHT 버전 2.1 - 하이브 - 0.11.0

  4. from https://stackoverflow.com/questions/31688532/hive-function-quarter-returns-invalid-function by cc-by-sa and MIT license