Hive知识点之分区表、让分区表和数据产生关联的三种方式、修改表、数据导入、数据导出、内部排序(Sort By)、分区排序(Distribute By)、Cluster By 、分桶及抽样查询

一:分区表 

  1. 简介
     
  2. 创建分区表语法 
     
  3.  加载数据到分区表中 
     
      
  4. 查询分区表中数据 
     
  5.  多分区联合查询 
     
  6. 增加分区 
     ⑴创建单个分区 
        
         
    ⑵同时创建多个分区 
          
  7. 查看分区表有多少分区 
     
  8.   删除分区 
     a:删除单个分区 
          
     b:删除多个分区 
           
  9. 创建二级分区表 
     
  10.   导入数据
        
     

二:把数据直接上传到分区目录上,让分区表和数据产生关联的三种方式 

  1. 方式一:上传数据后修复 
     ⑴创建目录
           
           
     ⑵上传数据
           
           
     ⑶查询数据,发现刚刚上传的20190824没有数据
            
     ⑷执行修复命令:msck repair table dept_partition2; 
         
  2. 方式二:上传数据后添加分区 
      ⑴上传数据
              
            
       ⑵执行添加分区
            
        ⑶查询数据
             
  3. 方式三:上传数据后 load 数据到分区    
         ⑴ 创建目录,上传数据
                   
         ⑵查询数据
                

三:修改表 

  1. 重命名表 
     
  2. 增加/修改/替换列信息 
          

四:数据导入 

  1. 向表中装载数据(Load) 
     ⑴语法:load data [local] inpath '/opt/module/datas/student.txt' [overwrite] into table student [partition (partcol1=val1,…)]; 
         
    ⑵实操案例 
          a:创建一张表 
                
           b:加载本地文件到 hive 
                 
           c: 上传文件到 HDFS ,加载 HDFS 上数据 
                  
                  
          d:加载数据覆盖表中已有的数据 
               
  2.  通过查询语句向表中插入数据(Insert) 
           
        

五:数据导出 

  1. 将查询的结果格式化导出到本地  
      命令:insert overwrite local directory '/opt/module/datas/export/student'
                row format delimited fields terminated by '\t' select * from student ;
       
         
  2. 将查询的结果导出到 HDFS 上(没有 local) 
     命令:insert overwrite directory '/user/kgf/student' row format delimited fields terminated by '\t' select * from student;
     
      
  3. Hadoop 命令导出到本地 
     命令:dfs -get /user/hive/warehouse/dept_partition2/month=201907/day=23 /opt/module/datas/export/;
     
     
  4.  Hive Shell 命令导出 
     
  5.  Export 导出到 HDFS 上 
      
  6. 清除表中数据(Truncate) 
     

六:每个 MapReduce 内部排序(Sort By) 

     

七:分区排序(Distribute By) 

      
      
      
     

八: Cluster By 

       

九:分桶及抽样查询 

  1. 分桶表数据存储简介
     
  2. 数据准备
     
     
  3. 创建分桶表 
     
     创建的表以id进行分区和排序,并且分为4桶。
     
  4. 数据通过子查询的方式导入到分桶表中 (直接导入没有效果
     a:先建一个普通的 stu 表 ,向普通的 stu 表中导入数据 
            
           
     b:设置一个属性 ,打开分桶
           
     c:通过子查询导入
           命令:insert into table stu_buck select id,name from stu;  
          
  5. 分桶抽样查询 
      
      
      
  6. 数据块抽样 
     
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值