• hive报错( Non-Partition column appears in the partition specification)


    在写及测的过程中发现的,有一些可能需要进一步验证。有时候hive报错位置不一定正确需要多确认

    1 FAILED: NullPointerException null  

    不能用视图作为left outer join的右表

    2 FAILED: UDFArgumentTypeException Only numeric or string type arguments are accepted but decimal is passed.

       在cdh hive0.10中,avg的列不能是decimal类型的,apache hive0.12无此限制

    3 FAILED: SemanticException [Error 10098]: Non-Partition column appears in the partition specification

       建表时没有指定分区,而insert语句中指定了

    4 FAILED: SemanticException [Error 10017]: Line 5:5 Both left and right aliases encountered in JOIN '***_id'

      不支持非等值连接

    5  FAILED: ParseException line 1:799 missing Identifier at 'group' near '<EOF>' 

      group前面缺少子表的别名

    6 left semi join 的右边表的字段,不能出现在select列中 

    7 FAILED: SemanticException Column ***_id Found in more than One Tables/Subqueries

      有一列在多个表中出现,但是没加表名前缀

    8 Diagnostic Messages for this Task:

    Error: java.lang.RuntimeException: org.apache.hadoop.hive.ql.metadata.HiveException: java.io.FileNotFoundException: /hadoop/tmp/nm-local-dir/usercache/hadoop/appcache/application_***/container_***/Stage-10.tar.gz/MapJoin-mapfile160--.hashtable (No such file or directory)      

    Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: java.io.FileNotFoundException: /hadoop/tmp/nm-local-dir/usercache/hadoop/appcache/application_***/container_***/Stage-10.tar.gz/MapJoin-mapfile160--.hashtable (No such file or directory)

    apache hive0.12里面不支持create as之后的表再join三个表,只能两个;cdhhive0.10无此限制

    9  cdhhive0.10不支持字段名定义为timestamp

    10 增加内存,应该在新建任务的时候用hiveconf指定

       如果直接用传参,再用set取的话,会导致语句无法执行 

    11 set语句的参数值不支持udf设定,只能是常量,或者已经设置的变量

    12 left outer join  的使用,对于右表的筛选条件的设置要特别注意,如果放在where中,则left join会变为inner join,实际是先执行了left join之后,又执行筛选,这样会把左边中的部分记录删除,不符合left join对左表取全量的初衷了。需要将右表条件以子表的形式指定,或者放在on中。在oracle中也是如此,条件放在on和where中逻辑上的含义是不同的,这应该不算是hive的bug。

  • 相关阅读:
    最短路计数
    轻拍牛头(类埃式筛)
    子序列(尺取模板题)
    状压dp(洛谷:互不侵犯)
    刷题-力扣-73. 矩阵置零
    刷题-力扣-150. 逆波兰表达式求值
    刷题-力扣-300. 最长递增子序列
    刷题-力扣-1576. 替换所有的问号
    刷题-力扣-54. 螺旋矩阵
    刷题-力扣-705. 设计哈希集合
  • 原文地址:https://www.cnblogs.com/yaohaitao/p/5353523.html
Copyright © 2020-2023  润新知