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-载入数据方式

Hive载入载出数据方式

数据一旦被导入就不可以被修改

数据会被存放到HDFS上,HDFS不支持数据的修改

载入数据-load

语法结构

load data [local] inpath '/opt/module/datas/student.txt' overwrite | into table student [partition (partcol1=val1,)];

load data 固定语法
[local] :如果有local说明分析本地数据,如果去掉local说明分析hdfs上的数据
inpath '/opt/module/datas/student.txt' 导入数据的路径
overwrite 新导入的数据覆盖以前的数据
into table student 导入到那张表中

Linux上的数据

#追加
load data local inpath '/root/shy666.txt' into table user;

#覆盖
load data local inpath '/root/shy666.txt' overwrite into table user;

HDFS上的数据

#追加
load data inpath '/user/hive/shy666.txt' into table user;

#覆盖
load data inpath '/user/hive/shy666.txt' overwrite into table user;

载入数据-insert

查询t1表的数据插入到t2表中

--基础数据
1,admin
2,admin1
3,admin2
4,admin3

--创建表
create table t1(
id string,
name string
)
row format delimited fields terminated by '\t'  
lines terminated by '\n';

--载入数据
load data local inpath '/root/t1.txt' into table t1;

--创建表
create table t2(
name string
);

--插入数据
--会开启Mapreduce任务
insert overwrite table t2 select name from t1;

将一次查询的结果放入到多张表中

--在上面数据的基础上
create table t3(
id string
);

--会开启Mapreduce任务
from t1
INSERT OVERWRITE TABLE t2  SELECT name 
INSERT OVERWRITE TABLE t3  SELECT id ;

按照原始SQL数据插入的方式

insert into t1 values ('id','5'),('name','zhangwuji');

载入数据-select

create table if not exists default.user1
as select * from user;

总结:

  • 不管数据文件在哪,只要是内部表,数据文件都会拷贝一份到数据库表的文件夹中

  • 如果是追加拷贝,查询数据的时候会查询所有的数据文件

  • 用csv文件导入数据需要将表头去掉

    TBLPROPERTIES("skip.header.line.count"="1")
    
  • 导入数据的时候请先用show creat table查看表结构,然后考虑导入方式(csv文件表结构需要用“,”分隔,存储格式为HiveIgnoreKeyTextOutputFormat)

  • 如果hive是分区表,csv表里需要将分区字段剔除,load数据的时候需要加上分区

  • 导入之前需要检查csv表格中每一个字段是否带有与分隔符一样的字符,如果有,则需要处理后再进行导入,否则会发生数据偏移

载出数据-export

导出到HDFS上

export table default.t1 to '/user/hive/warehouse/export/t1';

载出数据-insert

将查询的结果导出到HDFS上

insert overwrite directory '/user/export/t1'
	ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
    select * from t1;

将查询的结果格式化导出到本地

insert overwrite local directory '/opt/hive/datas/export/t1'
	ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'       
    select * from t1;

还可以把数据导出到关系型数据库,具体请参考Sqoop导入导出数据文档

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-08-06 09:53:50  更:2021-08-06 09:55:37 
 
开发: 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年5日历 -2024/5/17 19:51:05-

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