Hive装载数据 、导出数据

本文介绍了Hive数据操作的基本流程,包括装载数据、通过查询语句插入数据、设置分区属性及导出数据的方法。深入探讨了如何利用Hive进行高效的大数据处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Hive  数据操作
 

  •  装载数据
        既然Hive没有行级数据插入、数据更新和删除操作,那么就使用一种大量数据装载操作;
        hive>load data 【local】 inpath 'hdfs://data/employees.txt'
                overwrite into table employees
                partition (country='US',state='CA');
         Hive并不会验证用户装载的数据和表的模式是否匹配。然而,Hive会验证
         文件格式是否和表结构定义的一致。
     
  • 通过查询语句向表中插入数据

       
      hive>insert overwrite table employees
    
           partition(countyr='us',state='or'
     ​​​​​​​
           select * from stated_employees se
           where se.cnty='US' and se.st='or';
    
         overwrite之前表的内容就会被覆盖, 若换成into ,就会以追加的方式
      或者:
    
      hive>from stated_employees se 
           insert overwrite table employees
            partition(country='us',state='or')
    
            select * wher se.cnty='us' and se.st='or'
            insert overwrite table employees
            partition(country='us',state='ca')
            select * wher se.cnty='us' and se.st='ca'
  • 设置分区的属性
     
    
    set hive.exec.dynamicpartition=false;  //设置为true,开启动态分区功能
    set hive.exec.dynamic.oartition.mode=strict;//设置成nonstrict,允许所有分区都是动态的;
    set hive.exec.dynamic.partitions.pernode=100;//每个mapper或 reducer可以创建的最大动态分区个数
    set hive.exec.dynamic.partitions=+1000;//一个动态分区创建语句可以创建的最大动态分区个数
    set hive.exec.created.files=100000;  //文件的最大数量
    
    
    
  • 导出数据

         $>hadoop fs -cp source_path targe_path
        或者:
                  可以使用insert .. directory...
         $> insert overwrite local directory '/tmp/ca_employees'
         $>select name ,salary,address from employees where se.state='ca';

     

 
  

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值