zoukankan      html  css  js  c++  java
  • hive的初识(基本操作)

     1.2 语法
     	创建数据库
     		create database if not exists orders;
     	查询建表的方式
     		create table as select 方式:根据查询的结果自动创建表,并将查询结果数据插入新建的表中。
     	克隆表
     		create table like tablename 方式:是克隆表,只复制tablename的表结构。
     	1、创建一个分区表,以dt为分区列:
     		create table if not exists invites 
     		(
     			id int,
     			name string
     		) 
     		partitioned by 
     		(
     			dt string
     		) 
     		row format delimited fields terminated by '	' [stored as textfile];
    
     	2、将数据添加到时间为2017-12-07这个分区中:
     		load data local inpath '/home/orders.csv' overwrite into table invites partition (dt='2017-12-07');
     		load data local inpath '/home/orders.csv' overwrite into table invites partition (dt='2017-11-11');
     	3、从一个分区中查询数据:
     		select * from invites where dt='2017-12-07';
     	4、往一个分区表的某一个分区中添加数据:
     		insert overwrite table invites partition (dt='2017-12-07') select id,max(name) from test group by id;
     	5、查看分区的具体情况
     		show partitions tablename; eq: hive> show partitions orders;
    
     	【
     		精解:
     			这个日志表以dt字段分区,dt是个虚拟的字段,dt下并不存储数据,而是用来分区的,实际数据存储时,dt字段值一样的数据存入同一个子目录中,插入数据或者导入数据时,
     			同一天的数据dt字段赋值一样,这样就实现了数据dt日期分区存储。
     			当hive查询数据时,如果指定了dt筛选条件,那么只需要到对应的分区下去检索数据即可,大大提高了效率。所以对于分区表查询时,尽量添加上分区字段筛选条件。
     	】
    

      

  • 相关阅读:
    doges
    Unity Fps示例
    使用Unity的2D功能开发弹球游戏
    Unity UGUI 原理篇(二):Canvas Scaler 縮放核心
    UGUI 深度優化提升手遊效能
    关于Unity中的UGUI优化,你可能遇到这些问题
    git branch --set-upstream 本地关联远程分支
    git rm 与 git reset
    Git笔记之初识vi编辑器
    [内容分享]粗略判断Shader每条代码的成本
  • 原文地址:https://www.cnblogs.com/mologa-jie/p/8170180.html
Copyright © 2011-2022 走看看