Hive数据导出详解

目录
  • 一、数据导出是什么?
  • 二、六大帮派
    • 1.insert
    • 2.Hadoop命令导出到本地
    • 3.Hive shell命令导出
    • 4.export导出到HDFS上
    • 5.Sqoop导出
    • 6.清除表中的数据(Truncate)——删库跑路
  • 总结

一、数据导出是什么?

hive是一个依赖Hadoop集群的数据处理平台,我们不仅需要对数据进行筛选处理,更需要进行导出,供我们多次重复使用。

二、六大帮派

1.insert

insert有两种形式,加local上传到本地路径,不加local上传到集群

代码如下(示例):

insert加local

insert overwrite local directory '/root/export/data/student' select * from student;

insert不加local(并将数据格式化)
insert overwrite directory '/student' row format delimited fields terminated by ',' select * from student;

2.Hadoop命令导出到本地

代码如下(示例):

hadoop dfs -get /user/hive/warehouse/hive.db/student/student.txt /root/export/data/student/

3.Hive shell命令导出

一个 > 是覆盖,两个>是追加

代码如下(示例):

bin/hive -e 'select * from hive.student' >> /root/export/data/student/student.txt

4.export导出到HDFS上

当该hdfs路径下有文件时或表存在,都不可导,与import连用。

代码如下(示例):

export table hive.student to '/user/hive/warehouse/hive.db/student';

5.Sqoop导出

将数据导出到window系统的mysql,并进行可视化操作

6.清除表中的数据(Truncate)——删库跑路

Truncate只能删除管理表,不能删除外部表的数据(但可以将外部表转为内部表哦,嘿嘿嘿)只是删除内部表的hdfs数据,元数据还在

内部转为外部表
alter table student set tblproperties('EXTERNAL'='TRUE')一定大写

截断表
Truncate table student;

总结

六大派别与五大帮派共同统治着数码武林,侠义精神深入人心,hive语句妇孺皆知。街头小巷上谈论着他们的英雄事迹,再一次掀起了学习hive秘籍的狂潮。或许现在人们学习的已经不再是傍身之计,更多的是对天下武功,为快不灭的热爱。有人的地方就会就有江湖,大数据时代亦是如此。

到此这篇关于Hive数据导出详解的文章就介绍到这了,更多相关Hive数据导出内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Java API如何实现向Hive批量导入数据

    Java API实现向Hive批量导入数据 Java程序中产生的数据,如果导入oracle或者mysql库,可以通过jdbc连接insert批量操作完成,但是当前版本的hive并不支持批量insert操作,因为需要先将结果数据写入hdfs文件,然后插入Hive表中. package com.enn.idcard; import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; impor

  • hive数据仓库新增字段方法

    目录 新增字段 1.方法1 cascade知识 2.方法2 (适用于外部表) 3.方法3(下下策) 修改字段 删除列 新增字段 1.方法1 alter table 表名 add columns (列名 string COMMENT '新添加的列') CASCADE; alter table 表名 add columns (列名 string COMMENT '新添加的列'): hive表中指定位置增加一个字段 分两步,先添加字段到最后(add columns),然后再移动到指定位置(change

  • 解决sqoop import 导入到hive后数据量变多的问题

    使用sqoop import 命令从postgresql导入数据到hive中,发现数据行数变多了,但是任务没有跑错,非常奇怪. 导入语句为: sqoop import --connect jdbc:postgresql://*.*.*.*:5432/database_name --username name111 --password password111 --table table111 --hive-import --hive-database database111 --hive-tab

  • hive中将string数据转为bigint的操作

    使用 CAST 函数将 STRING 转为 BIGINT: SELECT CAST('00321' AS BIGINT) FROM table; As a BIGINT it will show on the screen and in delimited text files as 321. 参考:Hive - Converting a string to bigint 补充知识:hive中bigint和varchar字段做关联,关联数据错误的解决方法 把bigint和varchar都隐式转换

  • python导出hive数据表的schema实例代码

    本文研究的主要问题是python语言导出hive数据表的schema,分享了实现代码,具体如下. 为了避免运营提出无穷无尽的查询需求,我们决定将有查询价值的数据从mysql导入hive中,让他们使用HUE这个开源工具进行查询.想必他们对表结构不甚了解,还需要为之提供一个表结构说明,于是编写了一个脚本,从hive数据库中将每张表的字段即类型查询出来,代码如下: #coding=utf-8 import pyhs2 from xlwt import * hiveconn = pyhs2.connec

  • Hive数据导出详解

    目录 一.数据导出是什么? 二.六大帮派 1.insert 2.Hadoop命令导出到本地 3.Hive shell命令导出 4.export导出到HDFS上 5.Sqoop导出 6.清除表中的数据(Truncate)——删库跑路 总结 一.数据导出是什么? hive是一个依赖Hadoop集群的数据处理平台,我们不仅需要对数据进行筛选处理,更需要进行导出,供我们多次重复使用. 二.六大帮派 1.insert insert有两种形式,加local上传到本地路径,不加local上传到集群 代码如下(

  • MySQL 去除重复数据实例详解

    MySQL 去除重复数据实例详解 有两个意义上的重复记录,一是完全重复的记录,也即所有字段均都重复,二是部分字段重复的记录.对于第一种重复,比较容易解决,只需在查询语句中使用distinct关键字去重,几乎所有数据库系统都支持distinct操作.发生这种重复的原因主要是表设计不周,通过给表增加主键或唯一索引列即可避免. select distinct * from t; 对于第二类重复问题,通常要求查询出重复记录中的任一条记录.假设表t有id,name,address三个字段,id是主键,有重

  • 使用 Python 读取电子表格中的数据实例详解

    Python 是最流行.功能最强大的编程语言之一.由于它是自由开源的,因此每个人都可以使用.大多数 Fedora 系统都已安装了该语言.Python 可用于多种任务,其中包括处理逗号分隔值(CSV)数据.CSV文件一开始往往是以表格或电子表格的形式出现.本文介绍了如何在 Python 3 中处理 CSV 数据. CSV 数据正如其名.CSV 文件按行放置数据,数值之间用逗号分隔.每行由相同的字段定义.简短的 CSV 文件通常易于阅读和理解.但是较长的数据文件或具有更多字段的数据文件可能很难用肉眼

  • Pinia简单使用以及数据持久化详解

    目录 基本介绍 基本使用与state actions的使用 getters的使用 storeToRefs的使用 pinia模块化 pinia数据持久化 用法 常见疑问 进阶用法 总结 基本介绍 Pinia 是 Vue.js 的轻量级状态管理库 官方网站:pinia.vuejs.org/ pinia和vuex4一样,也是vue官方的状态管理工具(作者是 Vue 核心团队成员) pinia相比vuex4,对于vue3的兼容性更好 pinia相比vuex4,具备完善的类型推荐 pinia同样支持vue

  • mysqldump进行数据备份详解

    前言: 用mysqlbinlog工具(mysql原生自带的工具)介意快速解析大量的binlog日志文件,并使用二进制日志进行数据恢复的应用实践,这篇博客我们讲一下数据备份先关的命令,因为我们做后台开发一般工作在shell下,而且部署在后台服务器或者是云端的mysql,大部分做了一些限制,我们可能在本地无法直连到后台服务的数据库3306端口上,一般都会有防火墙之类的网络的中间键,没有条件用GUI(图形界面工具)鼠标操作做数据备份之类的,只能通过命令,而且命令也是最快速的,所以这篇博客讲一下常用的数

  • 使用SpringBoot+EasyExcel+Vue实现excel表格的导入和导出详解

    目录 一.导入和导出 二.导出数据为excel实现过程 三.将excel中的数据导入到数据库中 一.导入和导出 导入:通过解析excel表格中的数据,然后将数据放到一个集合中,接着通过对持久层操作,将数据插入到数据库中,再加载一下页面,从而实现了数据的导入 导出:导出也是直接对数据库进行操作,获取数据库中所有的数据,将其存储在一个集中,接着使用查询出来的的数据生成一个excel表格 其中导入和导出的功能实现都是基于EasyExcel实现的 EasyExcel是阿里巴巴开源的一个基于Java的简单

  • Linux系统下mysqlcheck修复数据库命令(详解)

    mysqlcheck客户端工具可以检查和修复MyISAM表,还可以优化和分析表. 实际上,它集成了mysql工具中check.repair.analyze.optimize的功能. 有3种方式来调用mysqlcheck: shell> mysqlcheck[options] db_name [tables] shell> mysqlcheck[options] ---database DB1 [DB2 DB3...] shell> mysqlcheck[options] --all--d

  • JAVA中string数据类型转换详解

    在JAVA中string是final类,提供字符串不可以修改,string类型在项目中经常使用,下面给大家介绍比较常用的string数据类型转换: String数据类型转换成long.int.double.float.boolean.char等七种数据类型 复制代码 代码如下: * 数据类型转换 * @author Administrator * */ public class 数据类型转换 { public static void main(String[] args) { String c=

  • JavaScript处理解析JSON数据过程详解

    JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧. JSON 是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON 数据不需要任何特殊的 API 或工具包. JSON的规则很简单: 对象是一个无序的"'名称/值'对"集合.一个对象以"{"(左括号)开始,"}"(右括号)结束.每个"名称"后跟一个":"(冒号):"

  • 微信小程序后台解密用户数据实例详解

     微信小程序后台解密用户数据实例详解 微信小程序API文档:https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-login.html openId : 用户在当前小程序的唯一标识 因为最近根据API调用https://api.weixin.qq.com/sns/jscode2session所以需要配置以下服务,但是官方是不赞成这种做法的, 而且最近把在服务器配置的方法给关闭了.也就是说要获取用户openid,地区等信息只能在后台获取. 一下是官方的

随机推荐