将文本文件导入到Hive数仓表中

一、获取文本文件

1、自创,编写假数据(分隔符用‘/t’)
在这里插入图片描述

2、其他途径

二、将文本文件上传到Liunx操作系统中

使用文件传输工具,例如:Xftp。

三、将Linux中的文本文件上传到HDFS中

注意:文件路径自定义

hdfs dfs -put ./student.txt /testdata/hivetest/

在这里插入图片描述
在这里插入图片描述

四、在Hive中创建一张表

CREATE table student02
(id int,
 name string)
row format delimited fields terminated by '\t';

row format delimited fields terminated by ‘\t’ 的作用是指定一行数据的解析方式

五、加载本地文件到hive

本地:是指hiveserver2服务所在的Linux系统,而非windows系统
local:表示从本地加载数据到Hive表;否则从HDFS加载数据到Hive表。

load data local inpath '/opt/module/hive-3.1.3/testdata/data/student.txt' 
into table student01;

在这里插入图片描述

六、加载HDFS文件到Hive

加载完成以后,HDFS上的文件就不存在了
原因: 当你将 HDFS 中的文件加载到 Hive 中时,通常会使用 Hive 的 LOAD DATA INPATH 或者 INSERT OVERWRITE DIRECTORY 命令。这些命令实际上会将文件从 HDFS 移动到 Hive 所管理的目录中,因此在移动后,原始的文件就不再存在于原来的 HDFS 路径中了。
这种行为是由这些命令的设计决定的,它们的目的是为了将数据加载到 Hive 表中进行管理和查询。如果你希望保留原始的文件副本,可以在加载到 Hive 前先进行备份,或者在加载后手动将文件复制回原始的 HDFS 路径中。

load data inpath '/testdata/hivetest/student.txt' 
into table student02;

在这里插入图片描述

七、加载数据覆盖表中原有数据

load data inpath '/testdata/hivetest/student.txt' 
overwrite into table student02;

overwrite:表示覆盖表中已有数据,否则表示追加。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值