将txt、csv等文本文件导入Hive

摘要:
将txt、csv等文本文件导入Hive目录将txt、csv等文本文件导入Hive00.数据在虚拟机外01.启动hadoop、hdfs02.将文件放置在hdfs目录下03.登录hive并进入指定数据库04.根据文件创建表05.执行导入语句00.数据在虚拟机外如果数据在虚拟机内,请跳过此步,直接执行接下来的操作。
将txt、csv等文本文件导入Hive
目录

00.数据在虚拟机外


如果数据在虚拟机内,请跳过此步,直接执行接下来的操作。

推荐使用SecureCTR的SFTP传输至虚拟机。

具体操作步骤:使用SecureCTR连接Hadoop虚拟机,在标题栏右击,

image-20201129110959994

选择SFTP传输:

image-20201129111127160

然后将txt或者csv文件拖拽至新打开的窗口即可。

检验:连接虚拟机在根目录下使用ls命令即可看到你传入的文件。


01.启动hadoop、hdfs


Hadoop所在文件

cd /usr/local/hadoop/

启动关闭Hdfs

sbin/start-dfs.sh

sbin/stop-dfs.sh

启动yarn

sbin/start-yarn.sh

sbin/stop-yarn.sh

02.将文件放置在hdfs目录下


我们以txt文件为例,我们要操作的文件是sale_count.txt

image-20201129111859136

使用下列命令将文件放到tmp文件夹下:

hadoop fs -put sale_count.txt /tmp

查看tmp文件夹下的文件:

hadoop fs -ls -h /tmp

03.登录hive并进入指定数据库


进入到hive目录下的bin目录:

cd /usr/local/hive/bin

启动hive:

hadoop@dblab-VirtualBox:/usr/local/hive/bin$ hive

对数据库操作:

//查看数据库
show databases;
//创建数据库
create database test;
//使用test数据库
use test;

04.根据文件创建表


文件:

image-20201129163358616

create external table if not exists sale_count(
sale_nbr string,
count string
)row format delimited fields terminated by ',' stored as textfile;

主要部分是最后一部分:row format delimited fields terminated by ',' stored as textfile;

查看表结构:

 desc sale_count;

05.执行导入语句


load data inpath '/tmp/sale_count.txt' into table sale_count;
load data local inpath '/tmp/sale_count.txt' into table sale_count;

如果有local关键字,这个路径应该为本地文件系统,数据会被拷贝到目标位置。

入股省略local关键字,这个路径应该是分布式文件系统的路径,数据是从这个路径转移到目标路径。

免责声明:文章转载自《将txt、csv等文本文件导入Hive》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇解决Maven无法下载fastdfs-client-java依赖,Dependency 'org.csource:fastdfs-client-java:1.27-SNAPSHOT' not found.CentOS7 初始化配置下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

"SQLserver 事务日志已满"解决方法

问题: 数据库 'MSDB' 的事务日志已满。若要查明无法重用日志中的空间的原因,请参阅 sys.databases 中的 log_reuse_wait_desc 列。 解决方法: 在tempdb库属性中,在[企业管理器]中把[事务日志]的 [文件属性] 中的 [文件自动增长] 前面打上钩,并且查看一下你的日志文件所在磁盘空间够不够了。如果不够,备份后换个...

Hadoop学习之路(十二)分布式集群中HDFS系统的各种角色

NameNode 学习目标 理解 namenode 的工作机制尤其是元数据管理机制,以增强对 HDFS 工作原理的 理解,及培养 hadoop 集群运营中“性能调优”、“namenode”故障问题的分析解决能力 问题场景 1、Namenode 服务器的磁盘故障导致 namenode 宕机,如何挽救集群及数据? 2、Namenode 是否可以有多个?name...

如何打造高性能大数据分析平台

1.大数据是什么? 大数据是最近IT界最常用的术语之一。然而对大数据的定义也不尽相同,所有已知的论点例如结构化的和非结构化、大规模的数据等等都不够完整。大数据系统通常被认为具有数据的五个主要特征,通常称为数据的5 Vs。分别是大规模,多样性,高效性、准确性和价值性。 据Gartner称,大规模可以被定义为“在本(地)机数据采集和处理技术能力不足以为用户带来...

Docker学习のWindows下安装Docker

一、docker最初只支持linux的,因此在windows下运行需要虚拟机。 利用VirtualBox建立linux虚拟机,在linux虚拟机中安装docker服务端和客户端 利用Windows的Hyper-v虚拟化技术,直接在Windows上安装docker服务端和客户端。(在windows10和windows server2016) WIndow...

(转)菜鸟学数据库(二)——触发器

本人水平有限,写此博客只为给那些像我一样的菜鸟一点小小的帮助,还请各位大牛不要见笑。 数据库的重要性就不用我多说了吧,我们做的大多数项目都要跟数据库打交道。因此,熟练掌握数据库的各种操作,就成了一个程序员必备的技能。今天我们就来简单说一下触发器。 这篇文章只是对触发器的理论总结,要想彻底了解触发器,参考SqlServer基础之(触发器)(清晰易懂) 触发器...

一些基本的Oracle命令

一些基本的Oracle命令基本命令 连接数据库 C:>SQLPLUS /NOLOG SQL>CONN / AS SYSDBA 1.Oracle 关闭 SQL>SHUTDOWN (ABORT|IMMEDIATE|NORMAL) 2.Oracle 启动 SQL>STARTUP (REMOUNT|MOUNT|OPENT) 3.SQL>...