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

    展开全文
  • 最近做项目有几个需求,需要java来操作...java查询校验某个表名是否在数据库中存在 接下来说是hive的,hive跟mysql有点区别,所以得自己手动去校验一下; 思路呢就是:先去查这个库下面的所有信息,然后在遍历...

    最近做项目有几个需求,需要java来操作mysql和hive建表,插入数据等操作,趁现在有点时间还能记得,就赶紧记录一下

    先说mysql的,校验table是否在某个库中存在,之前我已经写过了,所以点进去就可以查看;

    java查询校验某个表名是否在数据库中存在

    接下来说是hive的,hive跟mysql有点区别,所以得自己手动去校验一下;

    思路呢就是:先去查这个库下面的所有表信息,然后在遍历,在对比,如果一样返回true,否则就是false;

    也许这是一个笨办法,但是也是解决办法,如果你有更好的解决办法,还请不吝赐教!

    我这里用的是JdbcTemplate的方式,如果需要这种方式,就请翻翻我的博客吧,有些。。。

     /**
         * hive 校验表是否存在
         * @param tableName
         * @return
         */
        public boolean validateTableNameExistByHive(String tableName){
            //查询库中的所有表
            String sql = " show tables in " +HiveDbName;
            //返回 List<Map<String, Object>>
            List<Map<String, Object>>  count =  hiveJdbcBaseDaoImpl.getJdbcTemplate().queryForList(sql);
            for (Map<String, Object> map : count) {
                for (String s : map.keySet()) {
                    //遍历校验是否有一致的表
                    if(tableName.equals(map.get(s))){
                        return true;
                    }
                }
            }
            return false;
        }

    代码呢就这么简单,亲测有效。有问题可以留言讨论~ 

     

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

    千次阅读 2020-05-05 11:42:01
    1.直接查询,table_name为表名...2.模糊查询,例如:'table_name_',判断hive表是否存在表明中含有'table_name_'字段的 sql:show tables like 'table_name_*',重点注意'*',与mysql中通配符'%'不同 这样,就可...

    1.直接查询,table_name为表名,这个就不多说了,直接上sql

    sql:show tables like 'table_name'

    2.模糊查询,例如:'table_name_',判断hive表中是否存在表明中含有'table_name_'字段的表

    sql:show tables like 'table_name_*',重点注意'*',与mysql中通配符'%'不同

    这样,就可以查询出hive中表名为'table_name_xxx'的表。

     

    如果觉得有帮助的话,记得给我点个赞呀^^,谢谢啦。

    展开全文
  • 1、Hive 分区Hive Select查询中一般会扫描整个内容,会消耗很多时间做没必要的工作。有时候只需要扫描中关心的一部分数据,因此建表时引入了partition概念。分区指的是在创建时指定的partition的分区...

    b55c1df081a12d738caa596b6a886a35.png

    1、Hive 分区表

    在Hive Select查询中一般会扫描整个表内容,会消耗很多时间做没必要的工作。有时候只需要扫描表中关心的一部分数据,因此建表时引入了partition概念。分区表指的是在创建表时指定的partition的分区空间。

    Hive可以对数据按照某列或者某些列进行分区管理,所谓分区我们可以拿下面的例子进行解释。

    当前互联网应用每天都要存储大量的日志文件,几G、几十G甚至更大都是有可能。存储日志,其中必然有个属性是日志产生的日期。在产生分区时,就可以按照日志产生的日期列进行划分。把每一天的日志当作一个分区。

    将数据组织成分区,主要可以提高数据的查询速度。至于用户存储的每一条记录到底放到哪个分区,由用户决定。即用户在加载数据的时候必须显示的指定该部分数据放到哪个分区。

    1.1 实现细节

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

    2、表和列名不区分大小写。

    3、分区是以字段的形式在表结构中存在,通过describe table命令可以查看到字段存在, 但是该字段不存放实际的数据内容,仅仅是分区的表示(伪列) 。

    1.2 语法

    1. 创建一个分区表,以 ds 为分区列:

    create table invites (id int, name string) partitioned by (ds string) row format delimited fields terminated by 't' stored as textfile;

    2. 将数据添加到时间为 2013-08-16 这个分区中:

    load data local inpath '/home/hadoop/Desktop/data.txt' overwrite into table invites partition (ds='2013-08-16');

    3. 将数据添加到时间为 2013-08-20 这个分区中:

    load data local inpath '/home/hadoop/Desktop/data.txt' overwrite into table invites partition (ds='2013-08-20');

    4. 从一个分区中查询数据:

    select * from invites where ds ='2013-08-12';

    5. 往一个分区表的某一个分区中添加数据:

    insert overwrite table invites partition (ds='2013-08-12') select id,max(name) from test group by id;

    可以查看分区的具体情况,使用命令:

    hadoop fs -ls /home/hadoop.hive/warehouse/invites

    展开全文
  • Hive查看的分区字段

    万次阅读 2018-06-10 16:46:58
    查看某个表是否存在某个特定分区键SHOW PARTITIONS employee PARTITION(country='US') DESCRIBE EXTENDED employee PARTITION(country='US')【SHOW命令的其它用法:展示所有表:SHOW TABLES】查询表信息:DESCRIBE ...
  • 一般查询hive表中某个字段是否存在某个值,会使用如下查询语句 select * from 表名 where dt=XXXX and 字段 like '%某个值%' limit 10; 这种比较适合hive表数据量较小的情况,出现limit10,hive会默认判断此...
  • 近期经常将现场的数据带回公司测试,所以写下该文章,梳理一下思路。 1.首先要查询相应的hive表,比如我要将c_cons这张表导出,我先查出hive中...查询表结构语句:show create table c_cons 3.根据你hive配置地...
  • Hive笔记

    2020-06-08 12:00:13
    shell中判断hive表分区是否存在 Hive partition的使用 hive中partition如何使用 hive查询中获取数据插入到或动态分区 hive创建hbase外部 hue——hbase、hive的使用 Hive是什么 同hbase是数据
  • Hive Shell

    万次阅读 2018-11-21 13:32:56
    hive是否执行mr 创建数据库指定目录 删除数据库 显示信息/结构 查看表示内部还是外部 拷贝一张已经存在模式(而无需拷贝数据) 复制一张(包括数据) hive-cli 显示当前所在数据库 执行...
  • 最近有一个需求,统计每天的新老用户,日活,周活,月活。 我们每天的增量数据会加入到hive历史数据中,包含用户访问网站的一些信息,...B:这还不简单,判断用户guid是否存在与历史库guid中嘛?A:历史数据几十个...
  • Hive工作流程

    2019-07-19 22:12:16
    1、interface 指的是Hive的用户接口,也就是client ...3、compiler发送给元数据请求到metastore,查看需要的,字段等是否存在。 4、metastore响应编译器的元数据请求,如果满足要求就返回结果给compiler,否则...
  • Hive 本地模式的搭建一、配置相关的文件:二、安装并配置MySQL二、将Hbase复制到其他节点:三、启动Hbase:命令行操作一、创建表二、添加数据三、扫描表四、修改表五、删除六、列出所有表七、查询表中记录数八、查询表...
  • hive学习和习题集

    2020-11-02 06:11:55
    对AST进行语法分析,比如表是否存在、字段是否存在、SQL语义是否有误。 (2)编译器(Physical Plan):将AST编译生成逻辑执行计划。 (3)优化器(Query Optimizer):对逻辑执行计划进行优化。 (4)执行器...
  • Hive分区和优化

    2020-08-27 14:24:33
    一个可以指定多个partition key,每个partition在hive中以文件夹的形式存在。 在其他数据库中,一般向分区中插入数据时系统会校验数据是否符合该分 区,如果不符合会报错。而在hive中,向某个分区中插入什么样...
  • (2)查看某个表是否存在某个特定分区键 SHOW PARTITIONSemployee PARTITION(country='US') DESCRIBE EXTENDEDemployee PARTITION(country='US') (3)查询表信息: DESCRIBE EXTENDEDemployee; (4)查询结构...
  • HIVE SQL的简单优化

    2020-08-20 20:18:02
    在对分区进行查询时,优化器会检查谓词条件中是否存在对分区字段的过滤,如果存在,则可以仅访问符合条件的分区 在分区剪裁中,当使用外关联时,如果将副的过滤条件写在Where后面,那么就会先全关联,之后再...
  • 数仓工具Hive必知必会

    2020-07-26 21:22:36
    1 Hive架构图 1.1 客户端 用户通过客户端访问Hive,简单查询一般在Linux上使用belline进行交互;对于Java程序,可以通过JDBC访问Hive。 1.2 Metastore ...对AST进行语法分析,比如表是否存在、字段
  • Hive 基本操作

    2017-08-07 11:04:56
    5.1仓库数据库判断数据库是否存在 5.2.显示现在有的数据库 5.3条件查询数据库 5.4创建指定存放文件位置 数据库 5.5创建数据库时 添加注释信息 5.6创建数据库 添加扩展信息
  • 其中Analyzer会和metainfo进行信息交换,去做一些关联查找校验的工作:存不存在,字段存不存在,字段拼写是否正确等等,最终校验完之后生成query block。 谓词下推和map join都发生在逻辑计划优化处,也就是...
  • SQL语句整理二

    2020-05-07 10:43:17
    Mysql分组之前进行排序:查询媒体名称为"小强日报"的数据量:内连接:去重:beauty_article_view视图:创建表:日期和字符相互转换:开窗函数:Hive创建数据库:使用数据库:重命名表名:建表时判断该表是否存在: ...
  • Apache Hive: 是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库,通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析 笔记 Hive篇 ...
  • 首先在hera/hera-admin/resources目录下找到hera.sql文件,在自己的数据库中新建这些必要的,并插入初始化的数据(如果你目前使用的是低版本的hera,那么你可以到 update 目录查看是否有你的 hera 版本升级的 ddl ...
  • 1.2.2 有一批气象观测站,现需要获取这些站点的观测数据,并存储到 Hive 中。但是气象局只提供了 api 查询,每次只能查询单个观测点。那么如果能够方便快速地获取到所有的观测点的数据? 1.2.3 如何实现两金额数据...

空空如也

空空如也

1 2
收藏数 23
精华内容 9
关键字:

hive查询表是否存在