IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> hive数据导入导出 -> 正文阅读

[大数据]hive数据导入导出

---------------数据导入导出------------------------------
创建表:

CREATE TABLE IF NOT EXISTS userses(
name string,
sex string
)
row format delimited fields terminated by'\t';
CREATE TABLE IF NOT EXISTS user_tmp(
name string,
sex string
)
partitioned by(age int)
row format delimited fields terminated by'\t';

一、数据导入部分:
(1)、总所周知,hive本身并没有严格的数据格式。
Hive导入数据的四种方式:(肯定不只四种)
简单介绍四种:
1、从本地文件系统中导入数据到Hive表(数据copy过程):

  load data local inpath '/hivedata/user.txt' into table user;

2、从HDFS上导入数据到Hive表(从hdfs导入数据到Hive中,是一个数据移动过程!)

 load data inpath '/user.txt' into table user;

3、从别的表中查询出相应的数据并导入到Hive表中

insert into table user_tmp select * from user;

4、在创建表的时候通过从别的表中查询出相应的记录并插入到所创建的表中。

create table userses_tmp as select * from userses;
create table userses_tmp2 as select name from userses where sex='nan';

5、创建表时跟上 location “hdfs上的目录input”

CREATE TABLE IF NOT EXISTS user_tmp3(
name string,
sex string
)
row format delimited fields terminated by'\t'
location '/input';
Hvie时读时模式!!!!

二、数据导出部分:
1、Hive导出数据的三种方式:
根据导出的地方不一样,将这些方式分为三种:
(1)、导出到本地文件系统(保存hive查询结果);

insert overwrite local directory'/home/hadoop/outdir' select* from userses;

导出数据时指定分隔符:

insert overwrite local directory'/root/outdir' row format delimited fields terminated by '\t' select* from userses;

注意:
在Hive 0.11.0版本之前,数据的导出是不能指定列之间的分隔符的,只能用默认的列分隔符。
所以到处数据时数据默认分隔符是^A(不指定分隔符时到处数据时可以看看)。
在Hive0.11.0版本新引进了一个新的特性,也就是当用户将Hive查询结果输出到文件,用户可
以指定列的分割符,而在之前的版本是不能指定列之间的分隔符。

如若表有 基本类型和复合数据类型!

   insert overwrite directory'/hivedata/user.txt' into table user
     row format delimited fields terminated by '\t'
     collection items terminated by','
     map keys terminated by':'
     select* from userses;
	 
	 直接在Linux终端执行(把数据导出到本地系统):
	 hive -S -e 'select * from hive_db.userses'>>/home/hadoop/hivedata/logsdir/users.txt;

	 //shell脚本封装执行
	 #!/bin/bash
     HQL="insert overwrite local directory '/home/hadoop/hivedata/logsdir' select log from reglog;"
     hive -S -e "$HQL" 	 

(2)、导出到HDFS中

insert overwrite directory'/out01' select* from userses;

(3)、导出到Hive的另一个表中这也是Hive的数据导入方式.

 insert into table user_tmp select * from user;
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-05-08 08:10:56  更:2022-05-08 08:13:48 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 22:30:18-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码