首页 文章

Hive函数quarter()返回'invalid function'

提问于
浏览
0

这表示函数quarter()是在Hive 1.3中引入的

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

我使用默认版本的HDInsight(3.1)来运行Hadoop:

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:在[jar:file:/ C:/apps/dist/hadoop-2.4.0.2.1.15.1-0001/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/ org中找到绑定/slf4j/impl/StaticLoggerBinder.class] SLF4J:在[jar:file:/ C:/apps/dist/hbase-0.98.0.2.1.15.1-0001-hadoop2/lib/slf4j-log4j12-1.6.4中找到绑定.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J:有关说明,请参阅http://www.slf4j.org/codes.html#multiple_bindings . SLF4J:实际绑定的类型为[org.slf4j.impl.Log4jLoggerFactory] FAILED:SemanticException [错误10011]:第10行:1无效函数'quarter'

我错过了什么?

3 回答

  • 0

    各种版本的HDInsight中的Hive版本如下所示 . 根据这一点,您的配置单元版本为0.13.1,而配置单元版本1.3支持该季度 .

    HDINSIGHT VERSION 3.2- Hive-0.14.0

    HDINSIGHT VERSION 3.1- Hive-0.13.1

    HDINSIGHT VERSION 3.0- Hive-0.12.0

    HDINSIGHT VERSION 2.1- Hive-0.11.0

  • 2

    不幸的是,HDInsight 3.1仅运行Hive 0.13.1,并且在版本1.3之前无法使用季度功能 . 你可以看到所有的hive发布here

  • 0

    如果您使用的是不支持quarter()的旧版hive,请尝试以下操作:

    ceil(month(date) / 3.0)
    

相关问题