zoukankan      html  css  js  c++  java
  • Hive脚本中切勿使用/**/注释

    Hive脚本中切勿使用/**/注释

     

    Hive脚本的注释目前好像只有 -- ,我之前在做初版数据的时候 使用NotePad++ 习惯性的有时候注释会写成 /**/ ,然后就引发了问题

    脚本上传到hue,加入调度,调度正常执行 不报错,但是应该有的数据却为空!!! 奇了怪了.... (反复执行了好多遍,都没有数据,脚本都没有问题呀  一段一段copy执行的时候都正常的)

    再仔细看看 ,原因问题出在注释上,在hive脚本里面我不小心留了两行注释 格式为 /* 注释内容 */ 的内容

    造成的结果:  /*注释内容*/ 前面的脚本内容正常执行,/* 注释内容*/ 后面的脚本内容统统没有执行,所以很多该有的数据都为空了....

    错误脚本内容示例:

    insert.hql

    use bgda_hw_stg;
    set hive.auto.convert.join=false;
    
    drop table testdata ;
    create table testdata(
    createUser string
    ,createTime string
    ,updateUser string
    ,updateTime string
    ) row format delimited fields terminated by '01';
    
    insert overwrite table testdata
    select 
    ,'小仙女' as createUser
    ,cast(from_unixtime(unix_timestamp(),'yyyy-MM-dd HH:mm:ss') as string)as createTime 
    ,'小天使' as updateUser
    ,'' as updateTime
    ;
    
    /* 将T+1数据插入testdata_bak表中 testdata_bak表在初始化的时候已经创建,目前已存在于bgda_hw_stg库中*/
    insert into testdata_bak select * from testdata;
    

      

    以上脚本信息中:由于注释方式

    /* 将T+1数据插入testdata_bak表中 testdata_bak表在初始化的时候已经创建,目前已存在于bgda_hw_stg库中*/

     导致 insert into testdata_bak select * from testdata; 这段hql 不会被执行,但是整个调度也不会报错!!!

    所以这个一定要注意一下哦,注释方式一定要正确的写,如果发现脚本执行没有报错 但是该有的数据没有 可以查看以下脚本中是否存在不规则的注释...(不过大部分数据错处应该是及脚本逻辑问题哈哈哈)

    正确示例:

    insert.hql

    use bgda_hw_stg;
    set hive.auto.convert.join=false;
    
    drop table testdata ;
    create table testdata(
    createUser string
    ,createTime string
    ,updateUser string
    ,updateTime string
    ) row format delimited fields terminated by '01';
    
    
    insert overwrite table testdata
    select 
    ,'小仙女' as createUser
    ,cast(from_unixtime(unix_timestamp(),'yyyy-MM-dd HH:mm:ss') as string)as createTime 
    ,'小天使' as updateUser
    ,'' as updateTime
    ;
    
    -- 将T+1数据插入testdata_bak表中 testdata_bak表在初始化的时候已经创建,目前已存在于bgda_hw_stg库中
    insert into testdata_bak
    select * from testdata;
    

     

  • 相关阅读:
    前后端不分离的springboot项目问题:页面框架问题
    SpringBoot使用Filter过滤器处理是否登录的过滤时,用response.sendRedirect()转发报错
    mysql千万级数据优化查询
    java进阶学习的一些思路
    java的List列表转成Tree(树形)结构列表
    cmd 一键获取 所有连接过的wifi 密码
    SQLMap用户手册【超详细】
    Python:SQLMAP参数中文解释
    初识sql注入及sqlmap
    wwwscan网站目录文件批量扫描工具
  • 原文地址:https://www.cnblogs.com/DFX339/p/11706808.html
Copyright © 2011-2022 走看看