一、Hive数据导入导出

1、hive数据导出

  很多时候,我们在hive中执行select语句,希望将最终的结果保存到本地文件或者保存到hdfs系统中或者保存到一个新的表中,hive提供了方便的关键词,来实现上面所述的功能。
    1.将select的结果放到一个新表中(首先要用create table创建新的表格)
      insert overwrite table table_name2 select id,name from table_name2;

       将从表table_name2中查询的数据插入到表table_name1中
    2.将select的结果放到本地文件系统中
      insert overwrite local '/tmp/reg_3' row formatted delimited fields terminated by '\t' select * from table table_name;

       在hive环境下,将从表“table_name”中查询到的数据放在本地目录“/tmp/reg_3”下
    3.将select的结果放到hdfs文件系统中
      insert overwrite directory '/tmp/hdfs_out' select a.* from table_name where a.ds='<date>';

      将从表table_name中查询到的数据放在HDFS的'/tmp/hdfs_out'目录下

    4.通过Hadoop命令将表中的数据导入到本地文件目录下

      hadoop fs -get '/hive/t1' /root/data/

      将表目录hive下的表t1中的数据导入到本地目录/root/data/下

    5.Shell命令加管道(hive -f/e | sed/grep/awk >file)

      hive -e "select * from table_name" grep key_word

      筛选出table_name表中所有含有key_word字符的数据。

2、hive数据导入

    1、load data [local] inpath '/data/userdata' [overwrite] into table user;

    将本地数据插入到表user中,插入的数据存放在本地的'/data/userdata'下
     2、创建表的时候直接指定路径

    create external table user(id int,name string) row format delimited fields terminated by '44' lines terminated by '12' stored as textfile localtion '/data/userdata';

    将'/data/userdata'下的数据导入到新创建的外部表user中

     3、创建表之后也可以导入数据到表中

    (1)本机路径

     load data local inpath '/data/data.txt' overwrite into table table_name partition(pt='time');

    (2)Hadoop路径

     load data inpath '/hadoop/data.txt' overwrite into table table_name partition(pt='time');

上面overwrite关键字会全表覆盖,如果只是想附加数据,将OVERWRITE去掉即可,添加一个分区到表可以利用语句:

    alter table table_name add partition(pt='partition_name') location '/hive/pt=partition_name';

还可以直接从从其它的表拖数据过来

    insert overwrite table table_name select * from table_name1;

Hive常用操作之数据导入导出的更多相关文章

  1. Hive(四)【DML 数据导入导出】

    目录 一.数据导入 1.1 [load]--向数据中装载数据 案例 1.2 [insert]--查询语句向表中插入数据 案例 1.3 [as select]--查询语句中创建表且加载数据 案例 1.4 ...

  2. 从零自学Hadoop(16):Hive数据导入导出,集群数据迁移上

    阅读目录 序 导入文件到Hive 将其他表的查询结果导入表 动态分区插入 将SQL语句的值插入到表中 模拟数据文件下载 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并 ...

  3. 利用sqoop将hive数据导入导出数据到mysql

    一.导入导出数据库常用命令语句 1)列出mysql数据库中的所有数据库命令  #  sqoop list-databases --connect jdbc:mysql://localhost:3306 ...

  4. Hive 实战(1)--hive数据导入/导出基础

    前沿: Hive也采用类SQL的语法, 但其作为数据仓库, 与面向OLTP的传统关系型数据库(Mysql/Oracle)有着天然的差别. 它用于离线的数据计算分析, 而不追求高并发/低延时的应用场景. ...

  5. Winform开发框架之通用数据导入导出操作的事务性操作完善

    1.通用数据导入导出操作模块回顾 在我的Winfrom开发框架里面,有一个通用的导入模块,它在默默处理这把规范的Excel数据导入到不同的对象表里面,一直用它来快速完成数据导入的工作.很早在随笔< ...

  6. Oracle 数据导入导出操作 (转)

    Oracle数据导入导出imp/exp 功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备份. 大多情况都可以用Oracle数据导入导出完成数据的备份和还原(不会造成数据的丢 ...

  7. 数据仓库Hive数据导入导出

    Hive库数据导入导出 1.新建表data hive (ebank)> create table data(id int,name string) > ROW FORMAT DELIMIT ...

  8. 如何利用sqoop将hive数据导入导出数据到mysql

    运行环境  centos 5.6   hadoop  hive sqoop是让hadoop技术支持的clouder公司开发的一个在关系数据库和hdfs,hive之间数据导入导出的一个工具. 上海尚学堂 ...

  9. 2.11 Hive中数据导入导出Import和Export使用

    https://cwiki.apache.org/confluence/display/Hive/LanguageManual+ImportExport 一.Export.Import Export ...

随机推荐

  1. HTTP状态码(HTTP Status Code)【转】

    HTTP状态码(HTTP Status Code) 一些常见的状态码为: 200 - 服务器成功返回网页 404 - 请求的网页不存在 503 - 服务不可用 所有状态解释:点击查看 1xx(临时响应 ...

  2. mac itunes ios 7 升级 出现 this device isn't eligible for the requested build

    今天在对我的iPod 进行iOS7 升级的时候(在mac iTunes 上进行的),一直弹出框提示 解决办法就是 1. 打开HOSTS (Mac 下路径为:/etc/hosts, 至于怎么打开host ...

  3. Java基础笔记-异常

    Java中的异常机制: Throwable类是 Java 语言中所有错误或异常的超类.主要包括两个子类: Error和Exception. 一般中要处理的异常是Exception. Java中最常见的 ...

  4. 位运算及在java中的应用整理

    计算机编码: 原码 符号位为0表示正数,为1表示负数: 其余各位等同于真值的绝对值. 如:0000 0000 0000 0010 =2,1000 0000 0000 0010 =-2 反码 符号位的用 ...

  5. 常用封装--Date篇--获取格式化的日期对象

    虽然日期对象可以使用new Date()来获取,但是对于其格式却必须进行相应的转换,才能成为开发者想要的格式. 这里提供了一个封装的方法,通过结合正则表达式的使用,达到了可以对时间对象进行处理,生成多 ...

  6. java与javac命令笔记

    Java对待.java文件与.class文件是有区别的.对.java文件可以直接指定路径给它,而java命令所需的.class文件不能出现扩展名,也不能指定额外的路径给它,对于Java所需的.clas ...

  7. (转载)JS中的prototype

    原文地址:http://www.cnblogs.com/yjf512/archive/2011/06/03/2071914.html#!comments JS中的phototype是JS中比较难理解的 ...

  8. 安装GNUstep并运行第一个objc程序

    在windows环境下安装GNUstep,运行objective-c程序,今天试了一下,记录一下操作步骤, 1,登陆http://ftpmain.gnustep.org/pub/gnustep/bin ...

  9. MAC环境下生成Apple证书教程

    在MAC操作系统下,生成Apple证书比较简单,全图形化操作. 一.使用Keychain Access(钥匙串访问) MAC操作系统对证书的处理都采用了“Keychain Access”(中文系统名为 ...

  10. ios字符串计算高度总结

    1.用xib的话,设置约束的时候 不设置lable的高度即可,高度返回的就是最优高度. 2.用lable代码计算高度 CGFloat getHeightForLableString(NSString ...