Hivehive表中的数据导出

文章目录

  • hive表中的数据导出
    • 清空表数据

hive表中的数据导出

  • 将hive表中的数据导出到其他任意目录,例如linux本地磁盘,例如hdfs,例如mysql等等
    insert导出
  • 1) 将查询的结果导出到本地
insert overwrite local directory '/export/servers/exporthive/a' select * from score;
  • 2)将查询的结果格式化导出到本地
insert overwrite local directory '/export/servers/exporthive' row format delimited fields terminated by '\t' collection items terminated by '#' select * from student;

collection items terminated by '#' 对集合类型使用#来进行分割

  • 3)将查询的结果导出到HDFS上(没有local)
insert overwrite directory '/export/servers/exporthive' row format delimited fields terminated by '\t' collection items terminated by '#' select * from score;

注: 对于集合类型我们使用#来进行分割,因为这个表里面没有集合类型,所以加不加这个结果都一样

    1. Hadoop命令导出到本地
dfs -get /export/servers/exporthive/000000_0 /export/servers/exporthive/local.txt;
    1. hive shell 命令导出
      基本语法:(hive -f/-e 执行语句或者脚本 > file)
bin/hive -e "select * from myhive.score;" > /export/servers/exporthive/score.txt
    1. export导出到HDFS上(全表导出)
export table score to '/export/exporthive/score';
    1. sqoop导出
      后续单独讲。

清空表数据

只能清空管理表,也就是内部表

truncate table score5;