美文网首页
hive sql ddl

hive sql ddl

作者: xncode | 来源:发表于2017-09-21 15:27 被阅读0次

    数据库

    数据库,仅仅是表的一个目录、命名空间,如果没有指定则默认使用default数据库。

    create database xx;
    create database if not exists xx;
    show databases;
    show databases like 'h.*';  # 正则
    use database;
    select current_database();
    drop databse xxx;
    drop database if exists finacials cascade;
    

    对于hivecli可以设置显示当前数据库名称:

    set hive.cli.print.current.db=true;
    

    hive会为每个数据库创建一个目录,是以数据库名称加.db命名的。但是default是没有的,直接在hive目录下。

    可以使用location来指定存储路径(除了hdfs还可以使用mapr s3 本地路径等),建议使用comment来加注释

    数据表

    create table pokes(foo int, bar string);
    show tables;
    show tables in mydb;
    show tables 'empl.*';
    describe finacials;
    describe formatted finacials;
    

    以上创建的表是内部表,即hive本身是可以管理这些表的。

    外部表

    create external table xx 
    location ''
    

    在删除外部表时数据不会被删掉。此外还可以通过内部表生成外部表,这样可以解决一些权限问题?

    分区表

    通过在创建表时带partitioned by来对数据进行分区,会改变数据存储的组织方式

    表的存储格式

    相关文章

      网友评论

          本文标题:hive sql ddl

          本文链接:https://www.haomeiwen.com/subject/vjxydxtx.html