zoukankan      html  css  js  c++  java
  • hive基础-数据模型

    Hive 中所有的数据都存储在 HDFS 中,Hive 中包含以下数据模型:

    • Table:

    • External Table:

    • Partition:

    • Bucket:
      (1)表table:一个表就是hdfs中的一个目录
      内部表:默认设置,数据目录由hive默认设置,可以修改。hadoop->hive时,数据会迁移目录。hive删除会级联删除hadoop物理数据。
      外部表:元数据删除时不删除物理数据,不迁移数据目录。
      (2)区Partition:表内的一个区就是表的目录下的一个子目录:
      建表语句语法区分
      查询时需要指定分区字段,提升效率。
      (3)桶Bucket:如果有分区,那么桶就是区下的一个单位,如果表内没有区,那么桶直接就是表下的单位,桶一般是文件的形式。
      按字段hash计算,数据分组,抽样运算时用的较多。

    • DDL

    • DML
      示例代码

    CREATE DATABASE IF NOT EXISTS shopping COMMENT 'stores all shopping basket data' LOCATION '/user/retail/hive/SHOPPING.db' 
    	WITH DBPROPERTIES ('purpose' = 'testing');
    ALTER DATABASE shopping SET DBPROPERTIES ('department' = 'SALES');
    DROP DATABASE database_name [RESTRICT|CASCADE];
    SHOW DATABASES [ LIKE 'identifier_with_wildcards' ];
    SHOW TABLES IN retail;
    CREATE TEMPORARY TABLE states (state STRING);
    ALTER TABLE states RENAME TO states_old;
    ALTER TABLE states CONCATENATE;
    ALTER TABLE ids ADD PARTITION (datestamp='2016-05-30') location '/user/demo/ids/2016-05-30';
    MSCK REPAIR TABLE ids_internal;
    ALTER TABLE RETAIL.TRANSACTIONS ADD COLUMNS (loyalty_card boolean);
    
    ALTER TABLE transactions ENABLE NO_DROP;
    ALTER TABLE transactions ENABLE OFFLINE;
    
    CREATE TABLE transactions_test LIKE transactions;
    
    LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename
    INSERT [OVERWRITE] TABLE tablename1 [IF NOT EXISTS]
    	SELECT select_fields FROM from_statement;
    INSERT OVERWRITE DIRECTORY 'exampleoutput' ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
    	SELECT persid, firstname, lastname FROM person;
    CREATE TABLE blank_tablename LIKE tablename;	
    variance()
    percentile_approx() 
    select login_account,max(user_id) from tb_user group by login_account;
    

    官方手册

  • 相关阅读:
    Go语言入门系列(三)之数组和切片
    详解Java的对象创建
    Go语言入门系列(二)之基础语法总结
    Go语言入门系列(一)之Go的安装和使用
    SpringCloud--Ribbon--配置详解
    自己动手作图深入理解二叉树、满二叉树及完全二叉树
    自已动手作图搞清楚AVL树
    《RabbitMQ》什么是死信队列
    《RabbitMQ》如何保证消息不被重复消费
    《RabbitMQ》如何保证消息的可靠性
  • 原文地址:https://www.cnblogs.com/coding-now/p/14660607.html
Copyright © 2011-2022 走看看