精华内容
下载资源
问答
  • shell脚本判断hive表是否存在

    千次阅读 2019-07-16 14:42:14
    #shell判断hive表是否存在 #TABLE=库名.表名 TABLE=dal.dal_mdn_communication_behavior hive -e" desc $TABLE; " 2>&1 | grep 'Table not found' rtstatus=$? echo $rtstatus if [ $rtstatus -...

    #!/bin/bash
    #日志目录
    #shell判断表hive表是否存在
    #TABLE=库名.表名
    TABLE=dal.dal_mdn_communication_behavior
    hive -e"
         desc $TABLE;
    " 2>&1 | grep 'Table not found'
    rtstatus=$?
    echo $rtstatus
    if [ $rtstatus -ne 0 ]; then
        echo "hbase表已存在!"
    else
       echo "hbase表不存在!"
    fi

     

    或者


     #!/bin/bash
     touch test.txt
     if [ $? -eq 0 ] then echo "执行成功"
     else echo "执行失败"
     fi
     echo $?
    原文:https://blog.csdn.net/qq_36740035/article/details/82689463 

    展开全文
  • 主要思路是如果分区存在且有数据,hdfs文件系统下的对应分区下会有part-m-00000这个文件(不一定是这个名字,具体要用hadoop fs -ls /user/hive/warehouse/查看) temp0="part-" # 这里只取了"part-"这个字段 temp1...
    • 判断当日分区是否有数据,如果有执行任务,没有就退出
    • 主要思路是如果分区存在且有数据,hdfs文件系统下的对应表分区下会有part-m-00000这个文件(不一定是这个名字,具体要用hadoop fs -ls /user/hive/warehouse/ 查看)
    temp0="part-"         # 这里只取了"part-"这个字段  
    temp1=`hadoop fs -ls /user/hive/warehouse/test.db/table_name/dt=$dt`  
    # 这里用了grep来找出temp1字符串中是否有temp0("part-")这个子串  
    result=$(echo $temp1 | grep "${temp0}")       
    if [[ "$result" != "" ]]  
    then  
      echo "$dt 有数据,开始任务"  
      hive -f /home/test.sql -hivevar dt=$dt //执行相应的sql文件或hql语句  
    else  
      echo "$dt 没有数据,终止任务"  
    fi  
    
    • temp1中的字段如下:
    Found 3 items -rwxrwxrwt 2 root supergroup 0 2018-12-15 03:58 /user/hive/warehouse/test.db/table_name/dt=20181213/_SUCCESS -rwxrwxrwt 2 root supergroup 76007252 2018-12-15 03:58 /user/hive/warehouse/test.db/table_name/dt=20181213/part-m-00000 -rwxrwxrwt 2 root supergroup 55380546 2018-12-15 03:58 /user/hive/warehouse/test.db/table_name/dt=20181213/part-m-00001 -rwxrwxrwt 2 root supergroup 40552007 2018-12-15 03:58 /user/hive/warehouse/test.db/table_name/dt=20181213/part-m-00002 -rwxrwxrwt 2 root supergroup 35753890 2018-12-15 03:58  
    展开全文
  • hive 判断表分区是否存在

    万次阅读 2017-08-02 13:19:41
    use db; alter table table_name add if not exists partition(day=${logdate}) location ‘dir’;

    use db;
    alter table table_name add if not exists partition(day=${logdate})
    location ‘dir’;

    展开全文
  • 那么判断hive表是否没数据,可用以下脚本来实现 --查询出第1条记录,统计记录数 result=$(${_HADOOP_BIN} fs -text /*00000*|head -1|wc -l) if [[ "${result}" == "1" ]];then echo "hive表的当前分区不为空,数据...

    hadoop命令中,-test的用法

    -test -[defsz] <path> :
      Answer various questions about <path>, with result via exit status.
        -d  return 0 if <path> is a directory.
        -e  return 0 if <path> exists.
        -f  return 0 if <path> is a file.
        -s  return 0 if file <path> is greater than zero bytes in size.
        -z  return 0 if file <path> is zero bytes in size, else return 1.

    1. 判断HDFS路径是否存在

    hdfs dfs -test -d <HDFS路径>

    但判断HDFS路径是否为空,用-test命令不太好使,因为有时hive表没数据,但是其HDFS路径下文件存在且文件大小为42,这种情况下,通过-test -z和-test -s来判断文件大小是否等于0,和是否大于0;都不准确

    需要注意-s和-z都是判断文件大小而不是判断路径的,即hdfs dfs -test <HDFS路径/XXX文件>

    2. 那么判断hive表是否没数据,可用以下脚本来实现

    --查询出第1条记录,统计记录数
    result=$(${_HADOOP_BIN} fs -text <HDFS路径>/*00000*|head -1|wc -l)
    
    if [[ "${result}" == "1" ]];then
    	echo "hive表的当前分区不为空,数据正常"
    	exit 0
    else
    	echo "hive表的当前分区为空,数据异常!!!"
    	exit 1
    fi

     

    展开全文
  • hive判断一个表是否存在

    千次阅读 2020-05-05 11:42:01
    1.直接查询,table_name为表名...2.模糊查询,例如:'table_name_',判断hive表是否存在表明中含有'table_name_'字段的表 sql:show tables like 'table_name_*',重点注意'*',与mysql中通配符'%'不同 这样,就可...
  • 在实际项目中,修改原来的结构,增加一个交易类型字段作为组合分区,由于是BI展示的,交易类型实际存储的是中文,而且是已经投入使用的,不能重新修改表名。1.查看分区结构如下:show partitions ads_mk_...
  • hive中如何判断字段名是否存在,或者字段总数为多少? 如果不能回答,下面的问题场景有好的解决方案也可以采纳 问题场景: 目前问题是这样的:公司hive库需要新增一个字段,但是数据部的同事为了保证hive代码...
  • go并发3Go语言并发的设计模式和应用场景 以下设计模式和应用场景来自Google IO上的关于Goroutine的PPT:https://talks.golang.org/2012/concurrency.s ...java截取日期范围并计算相差月数前两天,媳妇单位让整理excel...
  • Shell脚本执行hive语句 | hive以日期建立分区 | linux schedule程序 | sed替换文件字符串 | shell判断hdfs文件目录是否存在
  • 1.一个中的数据不存在另一个中 2.一个中的数据 存在另一个中: 转载于:https://www.cnblogs.com/wqbin/p/11476922.html
  • 在平常工作中,因为这样那样的原因数据被误删了,这个时候要怎么找回呢?先记一下昨天刚发生过的问题。线上数据因为之前的误操作存在一些脏分区,...这个时候就考虑写个脚本批量删除,结果判断是否为脏分区的状态...
  • hive表或分区被误删了怎么找回? 在平常工作中,因为这样那样的原因表数据被误删了,这个时候要怎么找回呢? 先记一下昨天刚发生过的问题。 线上数据因为之前的误操作存在一些脏分区,比如像这样的: 这种异常分区...
  • 接上篇第5章的5.4:HBase第一天:HBase组件及架构、安装HBase部署集群、HBase的shell操作、HBase数据结构、命名空间、原理、读写流程、flush与合并、hbase-default.xml配置详解 ...6.2.2 判断表是否存在 6.2.3 创...
  • hive合并的坑 union all

    千次阅读 2019-04-20 17:05:00
    mysql上两表合并有很多种写法,但是受限于公司的史前hive数据库版本的问题,很多很多的骚操作都排不上用场,比如用exists判断是否存在于子表,where判断在另外一张表是否存在等,只能用union all合表。 请注意,必须...
  • Hive笔记

    2020-06-08 12:00:13
    shell中判断hive表分区是否存在 Hive partition的使用 hive中partition如何使用 hive从查询中获取数据插入到表或动态分区 hive创建hbase外部表 hue——hbase、hive的使用 Hive是什么 同hbase是数据
  • 1、Hive创建----直接使用create语句 (IF NOT EXISTS判断是否存在表,BY后面接分隔符) CREATE TABLE IF NOT EXISTS 表名(字段1 数据类型,字段2 数据类型) ROW FORMAT DELIMITED FIELDS TERMINATED BY ‘,’; ...
  • 一般查询hive表中某个字段是否存在某个值,会使用如下查询语句 select * from 表名 where dt=XXXX and 字段 like '%某个值%' limit 10; 这种比较适合hive表数据量较小的情况,出现limit10,hive会默认判断此表...
  • def generate_csv_source(data_file):#判断文件是否存在if not os.path.exists(data_file):# 拉取hive表数据cmd_sql = 'hive -e "set hive.cli.print.header=true; \select * from dw.full_d_usr_channel_sum_v3 ...
  • 最近有一个需求,统计每天的新老用户,日活,周活,月活。 我们每天的增量数据会加入到hive历史数据中,包含用户访问网站的一些信息,...B:这还不简单,判断用户guid是否存在与历史库guid中嘛?A:历史数据几十个...
  • createhive,判断hive表是否存在,判断当前时间段分区是否存在,createrangepartition 判断当前时间是否到了该统计历史全量的时间点: 如果到了统计历史全量,count_history统计历史全量,getDF函数inputTdw....
  • 最近有一个需求,统计每天的新老用户,日活,周活,月活。 我们每天的增量数据会加入到hive历史数据中,包含用户访问网站的一些信息,...B:这还不简单,判断用户guid是否存在与历史库guid中嘛?A:历史数据几十个...
  • hive笔记(一)

    2021-02-16 16:05:25
    hive笔记(一) jdbc连hive服务: 首先先开启hiveserver2 后开启beeline !connect jdbc:hive2://master:10000 hive可能添加了权限认证,则要在hadoop的core-...2.创建数据库时判断是否存在,否则会error create data
  • HIVE常用SQL

    2019-10-14 13:06:08
    1、判断分区是否存在并创建 ALTER TABLEapp.union_open_gateway_comm_log ADDif not exists partition(dt='2019-10-11') 2、 显示接口 SHOW CREATE TABLE app.union_open_gateway_comm_log; 3、的分区...
  • 一,引言 二,生成函数  2.1 行转列函数... 3.1 判断是否存在某集合(array_contains)  3.2 集合排序(sort_array)  3.3 集合长度(size)  3.4 Map集合的keys值返回(map_keys)  3.5 Map集合的v...
  • Hive 基本操作

    2017-08-07 11:04:56
    5.1仓库数据库判断数据库是否存在 5.2.显示现在有的数据库 5.3条件查询数据库 5.4创建指定存放文件位置 数据库 5.5创建数据库时 添加注释信息 5.6创建数据库 添加扩展信息
  • hive中有数据库和数据的概念,其实和传统数据库的概念是一样的。但是在hive中不管创建的是数据库还是数据...可以使用 if exists 判断数据库是否存在(存在则不创建) hive (default)>create database if not ex.

空空如也

空空如也

1 2
收藏数 40
精华内容 16
关键字:

判断hive表是否存在