HIVE数据加载

server/2025/3/3 4:37:32/

load 加载数据

LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)]

LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)] [INPUTFORMAT 'inputformat' SERDE 'serde'] (3.0 or later)

(1)load data:表示加载数据。

(2)local:表示从本地加载数据到Hive表;否则从HDFS加载数据到Hive表。

(3)inpath:表示加载数据的路径。

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

(5)into table:表示加载到哪张表。

(6)partition:表示上传到指定分区。

(1)加载本地文件到hive

hive (default)>

load data local inpath "/home/data/demo.txt"  overwrite into table hive.demo;

(2) 加载HDFS文件到hive

hive (default)>

hadoop fs -put /home/data/demo.txt  /user/data

;

hive (default)>

load data  inpath "/user/data/demo.txt"  overwrite into table hive.demo;

insert 插入数据

1)基本模式插入数据

hive (default)>

 insert overwrite table hive.demo._insert

select

    id,

    name

from hive.demo;

hive (default)> insert into table  hive.demo._insert values(1,'wanger'),(2,'zhaoliusan')

;

注意:insert导出时,hive会自动创建导出目录,但是由于是overwrite,所以导出路径一定要写准确,否则存在误删数据的可能。

2)根据查询结果插入数据

hive (default)> insert overwrite table hive.demo2

select

    id,

    name

from hive.demo

;

根据查询结果创建表(查询的结果会添加到新创建的表中)。

hive (default)>

create table if not exists hive.demo3

as select id, name from hive.demo

;

 Import&Export

export命令能够导出一张表或分区的数据和元数据信息到一个输出位置,而且导出数据能够被移动到另外一个hadoop集群或hive实例,而且能够经过import命令导入数据。一般用在数据迁移的场景。

具体语法:

EXPORT TABLE tablename [PARTITION (part_column="value"[, ...])]

  TO 'export_target_path' [ FOR replication('eventid') ]

IMPORT [[EXTERNAL] TABLE new_or_original_tablename [PARTITION (part_column="value"[, ...])]]

  FROM 'source_path'

  [LOCATION 'import_target_path']

数据到指定Hive表中

注意:先用export导出后,再将数据导入。并且因为export导出的数据里面包含了元数据,因此import要导入的表不可以存在,否则报错。

导出到HDFS

-- 导出stu1.emp1到hdfs下的/user/data/export/emp

export table stu1.emp1  to '/user/data/export/emp';

-- 将/user/data/export/emp文件导入到stu1.emp2

import table stu1.emp2  from '/user/data/export/emp';

Export和Import主要用于两个Hadoop平台集群之间Hive表迁移,不能直接导出到本地。


http://www.ppmy.cn/server/171680.html

相关文章

产线服务JVM和容器yaml内存、CPU配置最佳实践

最佳实践: 一、JVM调参 1、容器resource的limit.memory:根据服务运行情况给出设置(一周的运行趋势得出) 2、服务的JVM -Xmx (最大堆大小):Pod的limits.memory的70%-80% 3、服务的JVM -Xms (初始堆大小)&#xff1a…

盛京开源社区加入 GitCode,书写东北开源生态新篇章

在数字化转型与开源技术蓬勃发展的浪潮下,开源社区已成为推动技术创新的核心力量。盛京开源社区(SJOSC)作为沈阳地区的开源交流平台,始终致力于连接开发者、企业及高校,构建区域技术生态圈。 现在,盛京开源…

Spring Boot与MyBatis

Spring Boot与MyBatis的配置 一、简介 Spring Boot是一个用于创建独立的、基于Spring的生产级应用程序的框架,它简化了Spring应用的初始搭建以及开发过程。MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。将Spring Boot和MyBa…

智能生活综合平台需求规格说明书

一、引言 1.1 编写目的 本需求规格说明书旨在明确智能生活综合平台的功能、性能、用户界面等方面的需求,为平台的开发、测试和部署提供详细的指导,确保平台能够满足用户在社交、购物、教育、医疗、政务等多个领域的智能生活需求,提升用户的…

内存中的缓存区

在 Java 的 I/O 流设计中,BufferedInputStream 和 BufferedOutputStream 的“缓冲区”是 内存中的缓存区(具体是 JVM 堆内存的一部分),但它们的作用是优化数据的传输效率,并不是直接操作硬盘和内存之间的缓存。以下是详…

R语言基础| 基本统计分析

写在前面 R语言拥有丰富的数据处理、统计分析和机器学习工具包,涵盖了从简单的描述统计到复杂的模型建立的各个方面。再加上数据的处理可以完美的衔接后续的可视化,这使得它成为处理各种类型和规模的数据集的理想选择。 完整R语言教程和测试数据可见&a…

CaffeineCache自定义缓存时间

文章目录 1、POM文件依赖2、声明缓存3、缓存使用4、测试缓存5、自定义缓存过期时间6、测试自定义超时时间 1、POM文件依赖 <dependency><groupId>com.github.ben-manes.caffeine</groupId><artifactId>caffeine</artifactId><version>3.1…

linux在vim中查找和替换

在Linux中使用Vim编辑器查找文本的方法非常直观和强大。Vim是一个高度可配置的文本编辑器&#xff0c;支持多种查找和替换的命令。下面是一些基本的查找命令&#xff1a; 1. 向前查找 要向前查找文本&#xff0c;可以使用以下命令&#xff1a; /text_to_find 例如&#xff0c…