精华内容
下载资源
问答
  • 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 

    展开全文
  • spark sql 查询hive表是否存在

    千次阅读 2020-10-22 17:46:36
    利用 show tables in DBname like ‘TABLEname’ 语句 var userid = "test" var datasetid1 = "dm_op_log" var datasetid2 = "bb" var s = spark.sql(s"show tables in $userid like '$datasetid1' ") ...
    • 利用 show tables in DBname like ‘TABLEname’ 语句
    
    var userid = "test"
    var datasetid1 = "dm_op_log"
    var datasetid2 = "bb"
    
    var s = spark.sql(s"show tables in $userid like '$datasetid1'  ")
    s.show()
    
    println("@@@@", s.count())
    
    var s2 = spark.sql(s"show tables in $userid like '$datasetid2' ")
    
    s2.show()
    
    println("!!!!", s2.count())
    
    print(s.count()==0, "~~~~~~~~~", s2.count()==0)
    
    
    

    结果:

    在这里插入图片描述

    参考链接:https://www.thinbug.com/q/21194677

    展开全文
  • shell中判断hive表分区是否存在

    千次阅读 2018-12-27 15:44:00
    主要思路是如果分区存在且有数据,hdfs文件系统下的对应分区下会有 part-m-00000 这个文件(不一定是这个名字,具体要用hadoop fs -ls /user/hive/warehouse/ 查看) temp0="part-" # 这里只取了"part-"这个字段 ...
    • 判断当日分区是否有数据,如果有执行任务,没有就退出
    • 主要思路是如果分区存在且有数据,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  
    

    转载于:https://my.oschina.net/u/4017963/blog/2994171

    展开全文
  • spark检查hive表是否存在某一分区

    千次阅读 2019-05-29 16:51:09
    hive表分区的概念 一个可以拥有一个或者多个分区,每个分区以文件夹的形式单独存在表文件夹的目录下。 例如下图中xx.db(数据库),device_flow_report_data() month_id=201902:表示按月进行了分区 day_id=...

    hive表分区的概念

    1. 一个表可以拥有一个或者多个分区,每个分区以文件夹的形式单独存在表文件夹的目录下。

    例如下图中xx.db(数据库),device_flow_report_data(表)

    • month_id=201902:表示按月进行了分区
    • day_id=20190203:表示按天也进行了分区
      在这里插入图片描述
      在这里插入图片描述
    1. 分区是以字段的形式在表结构中存在,通过describe table命令可以查看到字段存在, 但是该字段不存放实际的数据内容,仅仅是分区的表示(伪列)

    例如:

    describe device_flow_report_data;
    id	bigint	NULL
    ....
    month_id	string	NULL
    day_id	string	NULL
    # Partition Information		
    # col_name	data_type	comment
    month_id	string	NULL
    day_id	string	NULL
    Time taken: 0.173 seconds, Fetched 21 row(s)
    
    小结:既然分区是以字段在表结构的中存在,那么就可以使用 where进行sql查询

    解决检查hive表中是否存在某一分区

    1. 直接sql 查询表中是否存在该分区
    	# 查询日分区是否存在
        show partitions device_flow_report_data partition(day_id=20190204)
        # 查询月分区是否存在
        show partitions device_flow_report_data partition(month_id=201902)
    
    1. 基于where,查询该分区下记录数
    # 查询月分区是否存在
    select count(*) from device_flow_report_data where month_id = 201902
    # 查询日分区是否存在
    select count(*) from device_flow_report_data where day_id = 20190204
    

    参考:https://stackoverflow.com/questions/11700127/how-to-select-data-from-hive-with-specific-partition

    基于spark的scala实现

    val numsInHive = hiveContext.sql(s"select count(*) from ${databaseName}.${TableName} " +
              s"where day_id=${detectDay}").collect()(0).getLong(0)
    if (numsInHive == 0) {
    // 不存在该分区
    // ....
    }else{
    // 存在该分区
    // ....
    }
    

    参考:
    https://www.cnblogs.com/xiohao/p/6429305.html
    https://stackoverflow.com/questions/46477270/spark-scala-how-can-i-check-if-a-table-exists-in-hive
    https://stackoverflow.com/questions/11700127/how-to-select-data-from-hive-with-specific-partition
    https://stackoverflow.com/questions/43086158/how-to-check-whether-any-particular-partition-exist-or-not-in-hive

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

    千次阅读 2020-05-05 11:42:01
    1.直接查询,table_name为表名...2.模糊查询,例如:'table_name_',判断hive表是否存在表明中含有'table_name_'字段的 sql:show tables like 'table_name_*',重点注意'*',与mysql中通配符'%'不同 这样,就可...
  • 先说mysql的,校验table是否在某个库中存在,之前我已经写过了,所以点进去就可以查看; java查询校验某个表名是否在数据库中存在 接下来说是hive的,hive跟mysql有点区别,所以得自己手动去校验一下; 思路呢...
  • hive 判断表分区是否存在

    万次阅读 2017-08-02 13:19:41
    use db; alter table table_name add if not exists partition(day=${logdate}) location ‘dir’;
  • hive中如何判断字段名是否存在,或者字段总数为多少? 如果不能回答,下面的问题场景有好的解决方案也可以采纳 问题场景: 目前问题是这样的:公司hive库需要新增一个字段,但是数据部的同事为了保证hive代码...
  • 那么判断hive表是否没数据,可用以下脚本来实现 --查询出第1条记录,统计记录数 result=$(${_HADOOP_BIN} fs -text /*00000*|head -1|wc -l) if [[ "${result}" == "1" ]];then echo "hive的当前分区不为空,数据...
  • elastic-job没有自动创建JOB_EXECUTION_LOG,JOB_STATUS_TRACE_LOG
  • hive判断是否包含

    2021-04-07 19:32:54
    hive判断是否包含 – 返回字符串 substr 在 str 中从 pos 后查找,首次出现的位置 -- 1 a在abcda中首次出现的位置 select locate('a','abcda') -- 3 select locate('cd','abcda') -- 0 0表示在a中找不到abcda ...
  • 不多说先上代码 while read line do hive -e "use zy_tes; desc ${line};" 2>&1 | grep 'Table not found' ... echo "${line}存在!" (( tab_num+=1 )) else echo "${line}存在!
  • 快速确定HIve表中数据是否重复

    千次阅读 2021-01-13 01:28:28
    经验:如何快速知道订单号是否重复?(因为Hive中没有主键,mysql严格要求主键)可以将订单号作为主键 方式一: cnt 没有去重,order_cnt 去重, 如果得到结果相同,则是没有重复 select count(*) cnt ,count...
  • 1.一个中的数据不存在另一个中 2.一个中的数据 存在另一个中: 转载于:https://www.cnblogs.com/wqbin/p/11476922.html
  • hive查找键值是否存在的udf,直接上代码。 package com.autohome.udf; import java.util.Iterator; import org.apache.hadoop.hive.ql.exec.UDF; import org.json.JSONException; import org.json.JSONObject...
  • 目录0-需求1-实验2-总结 0-需求 过滤出字符串中包含某字符的数据 1-实验 (1)用locate()函数判断【推荐比较高效】 ...0: jdbc:hive2://10.9.1.212:10000> select locate('1','10002,21002,11001,11001')
  • 最近在开发一个同步数据的统计任务的时候遇到一个问题:要在Java代码中判断数据库中某张表是否存在,查资料后,总结了以下两种方法:1、使用JdbcTemplate bean[java] view plain copypublic boolean ...
  • 我要读取hive中emp_test中的emp,报错不能包含“.” Exception in thread "main" org.apache.spark.sql.AnalysisException: Specifying database name or other qualifiers are not allowed for temporary tables...
  • python查找hive表是否缺少日期分区脚本 #-*-coding:utf-8 -*- import os import sys import datetime import subprocess reload(sys) #获取hive表对应的文件存储目录 def get_hdfs(tb): my_cmd = """hive -S -e ...
  • select task_id, task_code, task_version, case when array_contains(collect_set(tag_id), 599) or array_contains(collect_set(tag_id), 1225) then 'L1-级别' when array_contains(collect_set(tag_id),...
  • Hive表类型(存储格式)一览

    千次阅读 2021-01-05 10:29:03
    Hive表类型 Hive支持的类型,或者称为存储格式有:TextFile、SequenceFile、RCFile、ORC、Parquet、AVRO。 TextFile 其中TextFile是文本格式的,它是Hive默认的结构; 在存储时使用行式存储,并且默认不进行...
  • 判断 name 字段中是否包含字符串 “aaa”: select * from temp where locate("aaa", name) > 0; locate(字符串,字段名),如果包含,返回大于0的index位置;否则,返回0; 1.2-like select '32002,32002,11001...
  • hadoop 如何判断文件是否存在,目录是否存在,目录是否为空? 之前在做日志收集的时候遇见一个问题,一直没有解决,今天偶然间想起来这个问题解决一下。 将hdfs上的日志数据使用load命令加载到hive表中时,极少数...
  • USE CCMPDB GO IF NOT EXISTS ( SELECT * FROM syscolumns WHERE id = OBJECT_ID('TContract') AND name = 'Contract_contractType' ) BEGIN ...
  • 如何判断数据中某张表是否存在

    万次阅读 2014-08-15 17:05:45
    这个问题就是如何判断数据中某张表是否存在,如果不存在则创建它。 恩,我先用了最笨的方法,就是写个select从中读数据,捕获异常的同时就知道了改没有创建。 此法不通,因为这个时候的异常似乎被认定为了...
  • Hive explain获得执行计划时,经常会看到如下图所示的数据量统计: 那么这个数据量,Hive是如何统计出来的呢? 一、Data size统计 1.1、Hive源码 在Hive通过Antlr语法解析器获取到SQL的抽象语法树(AST)...
  • 在sqlserver中,创建之前判断表是否存在,如果存在则删除已有 ----SQL-Server if exists (select 1 from sysobjects where id = object_id('EMP') and type = 'U') drop table S_Evalu...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 13,046
精华内容 5,218
关键字:

判断hive表是否存在