iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >如何在Hive中使用Load语句加载数据
  • 507
分享到

如何在Hive中使用Load语句加载数据

2023-06-02 01:06:00 507人浏览 泡泡鱼
摘要

这篇文章主要为大家展示了“如何在Hive中使用Load语句加载数据”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何在Hive中使用Load语句加载数据”这篇文章吧。一、Hive中load语句的

这篇文章主要为大家展示了“如何在Hive中使用Load语句加载数据”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何在Hive中使用Load语句加载数据”这篇文章吧。

一、Hive中load语句的语法说明

Hive Load语句不会在加载数据的时候做任何转换工作,而是纯粹的把数据文件复制/移动到Hive表对应的地址。语法格式如下:

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)

几点说明:

  • 如果命令中带有LOCAL,说明从本地文件系统加载数据,文件路径可以是相对路径,也可以是绝对路径。在这种情况下,首先将文件从本地复制到hdfs相应的位置,然后移动到hive表格中,这个时候原始数据文件是存在于Hive表之下的路径下。

  • 如果不包含LOCAL关键字,则移动HDFS文件到目标表中。

  • filepath 可以是一个相对路径,也可以是一个绝对路径。可以是一个文件,也可以是一个文件夹目录。如果是一个目录,这个时候文件夹下的所有文件都会被加载。

  • 命令中如果带有overwirte,代表加载数据之前会清空目标表格,否则就是追加的方式。

  • 如果表是分区表则必须指定PARTITION从句,否则会报如下错误:
    FAILED:SemanticException [Error 10062]: Need to specify partition columns because the destination table is partitioned

二、load语句示例

  • 创建如下的表结构(员工表)

create table emp(empno int,ename string,job string,mgr int,hiredate string,sal int,comm int,deptno int)row format delimited fields terminated by ',';
  • 测试数据如下:(emp.csv)

7369,SMITH,CLERK,7902,1980/12/17,800,0,207499,ALLEN,SALESMAN,7698,1981/2/20,1600,300,307521,WARD,SALESMAN,7698,1981/2/22,1250,500,307566,JONES,MANAGER,7839,1981/4/2,2975,0,207654,MARTIN,SALESMAN,7698,1981/9/28,1250,1400,307698,BLAKE,MANAGER,7839,1981/5/1,2850,0,307782,CLARK,MANAGER,7839,1981/6/9,2450,0,107788,SCOTT,ANALYST,7566,1987/4/19,3000,0,207839,KING,PRESIDENT,-1,1981/11/17,5000,0,107844,TURNER,SALESMAN,7698,1981/9/8,1500,0,307876,ADAMS,CLERK,7788,1987/5/23,1100,0,207900,JAMES,CLERK,7698,1981/12/3,950,0,307902,FORD,ANALYST,7566,1981/12/3,3000,0,207934,MILLER,CLERK,7782,1982/1/23,1300,0,10
  • 加载HDFS的数据到Hive的表

load data inpath '/scott/emp.csv' into table emp;
  • 加载本地的数据到Hive的表

load data local inpath '/root/temp/emp.csv' into table emp;

当然我们也可以使用insert语句加载数据。例如,我们创建如下的分区表:

create table emp_part_1(empno int,ename string,job string,mgr int,hiredate string,sal int,comm int)partitioned by (deptno int)row format delimited fields terminated by ',';

使用insert语句将数据插入到对应的分区上。

插入10号部门的员工数据insert into table emp_part_1 partition(deptno=10) select empno,ename,job,mgr,hiredate,sal,comm from emp where deptno=10;插入20号部门的员工数据insert into table emp_part_1 partition(deptno=20) select empno,ename,job,mgr,hiredate,sal,comm from emp where deptno=20;插入30号部门的员工数据insert into table emp_part_1 partition(deptno=30) select empno,ename,job,mgr,hiredate,sal,comm from emp where deptno=30;

这里我们使用了一个子查询查询出了对应部门的员工数据,再使用insert语句插入到对应的分区上。

以上是“如何在Hive中使用Load语句加载数据”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: 如何在Hive中使用Load语句加载数据

本文链接: https://www.lsjlt.com/news/228458.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何在Hive中使用Load语句加载数据
    这篇文章主要为大家展示了“如何在Hive中使用Load语句加载数据”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何在Hive中使用Load语句加载数据”这篇文章吧。一、Hive中load语句的...
    99+
    2023-06-02
  • Java函数load:如何在数组中加载数据?
    在Java中,数组是一种非常常见的数据结构,它可以存储多个相同类型的元素,并且可以通过索引访问它们。在实际开发中,我们经常需要把数据加载到数组中。Java提供了一个非常方便的函数load,可以帮助我们实现这个目的。 在本文中,我们将介绍J...
    99+
    2023-09-11
    函数 load 数组
  • mysql中如何使用LOAD语句批量录入数据
    这篇文章将为大家详细讲解有关mysql中如何使用LOAD语句批量录入数据,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。  mysql怎么使用LOAD语句批量...
    99+
    2024-04-02
  • 如何使用Java函数load将数据加载到数组中?
    Java是一门广泛使用的编程语言,其强大的函数库为开发者提供了许多便利。其中,函数load()可以帮助我们将数据加载到数组中。本文将介绍如何使用Java函数load()实现数据加载到数组的功能。 首先,我们来了解一下Java函数load()...
    99+
    2023-09-11
    函数 load 数组
  • 如何用sql语句在表中增加数据
    要在表中增加数据,可以使用 SQL 的 INSERT INTO 语句。语法如下: INSERT INTO table_name (c...
    99+
    2024-04-02
  • 如何在Java中使用load函数加载外部资源?
    Java中的load函数是一个非常有用的函数,它可以帮助我们加载外部资源。在本篇文章中,我们将深入探讨如何在Java中使用load函数来加载外部资源。 load函数的基本用法 在Java中,我们可以使用load函数来加载外部资源,例如文...
    99+
    2023-09-01
    二维码 load leetcode
  • 在 Python 中,如何使用容器函数 load 实现数据的高效加载?
    在 Python 中,数据的高效加载一直是一个备受关注的问题。容器函数 load 是一个非常强大的工具,可以帮助我们快速、高效地加载数据。本文将介绍在 Python 中如何使用容器函数 load 实现数据的高效加载。 一、什么是容器函数 l...
    99+
    2023-10-02
    容器 函数 load
  • MySQL 5.5如何使用LOAD DATA INFILE语句导入数据
    这篇文章主要介绍了MySQL 5.5如何使用LOAD DATA INFILE语句导入数据,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 ...
    99+
    2024-04-02
  • MySQL中如何用insert语句在表中添加数据
    在MySQL中,可以使用INSERT INTO语句来向表中添加数据。INSERT INTO语句的基本语法如下: INSERT INT...
    99+
    2023-10-23
    MySQL
  • Python编程算法:如何使用load函数加载数据?
    在Python编程中,我们通常需要处理各种各样的数据。在处理数据时,有时我们需要将数据从文件中读取到我们的程序中。这时,我们就需要使用Python中的load函数来加载数据。 load函数是Python中一个非常常用的函数,它可以帮助我们...
    99+
    2023-06-23
    编程算法 学习笔记 load
  • 如何在 PHP 中使用 Numpy 加载数据?
    PHP 是一种流行的编程语言,广泛应用于 Web 开发、数据处理等领域。而 Numpy 则是 Python 编程语言中用于科学计算的库,提供了大量的数值运算功能。在 PHP 中使用 Numpy,可以方便地进行数据处理和分析。本文将介绍如何在...
    99+
    2023-09-22
    自然语言处理 load numpy
  • 如何在 MySQL CASE 语句中使用列数据?
    要理解它,请考虑“学生”表中的数据,如下所示 -mysql> Select * from Students; +----+-----------+-----------+----------+----------------...
    99+
    2023-10-22
  • 如何在Hive中加载外部表格
    在Hive中加载外部表格,你需要执行以下步骤: 创建外部表格:首先,你需要使用CREATE EXTERNAL TABLE语句在Hi...
    99+
    2024-04-02
  • PHP中的load()函数:如何从数组中加载数据?
    在PHP中,load()函数是一个非常有用的函数,它可以帮助我们从数组中加载数据。本文将介绍load()函数的使用方法,并且通过示例代码演示如何从数组中加载数据。 load()函数的基础知识 在PHP中,load()函数是一种用于加载...
    99+
    2023-07-22
    关键字 load 数组
  • Python 打包工具:如何在容器中使用 load() 方法快速加载数据?
    Python是一种广泛使用的编程语言,它以其强大的功能和易于学习的特点而闻名。在Python中,有许多工具和库可用于完成各种任务。其中,打包工具是一个非常有用的工具,可以将Python代码和数据打包成一个文件或者项目,方便部署和分享。 在P...
    99+
    2023-10-31
    容器 打包 load
  • 如何使用SQL语句在MySQL中查询数据
    要在MySQL中查询数据,可以使用SELECT语句。以下是一个简单的例子: SELECT * FROM table_name...
    99+
    2024-04-09
    MySQL
  • 如何在Go语言中快速加载数据?
    Go语言是一门极具竞争力的编程语言,它在性能和开发效率方面都有很好的表现。在处理大量数据时,Go语言同样也有着出色的表现。在本文中,我们将介绍如何在Go语言中快速加载数据。 一、使用bufio包 Go语言的bufio包提供了一种快速读取大文...
    99+
    2023-11-15
    二维码 面试 load
  • GO语言中的LOAD函数如何实现Linux加载?
    在Linux系统中,程序的运行需要依赖于动态链接库。而在GO语言中,动态链接库的加载就是通过LOAD函数来实现的。那么,LOAD函数是如何实现Linux加载的呢? 首先,我们需要了解一下动态链接库的基本概念和加载过程。动态链接库是指程序在...
    99+
    2023-10-19
    关键字 load linux
  • 你知道如何在 Go 语言中使用 load 接口来加载对象吗?
    Go 语言中的 load 接口是一个非常强大的功能,它可以帮助开发者加载对象,使得程序的运行效率更高。但是,很多人并不知道如何正确地使用 load 接口。在本文中,我们将深入探讨 load 接口的使用方法,希望可以帮助读者更好地理解和应用这...
    99+
    2023-08-19
    load 接口 对象
  • 如何在Python中使用HTTP对象加载数据?
    在Python中,HTTP是一种常见的协议,用于在网络上传输数据。在开发Web应用程序时,我们通常需要从Web服务器加载数据。在本文中,我们将介绍如何使用HTTP对象在Python中加载数据。 HTTP协议是Web应用程序中最常用的协议之一...
    99+
    2023-09-28
    load http 对象
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作