`
superlxw1234
  • 浏览: 551308 次
  • 性别: Icon_minigender_1
  • 来自: 西安
博客专栏
Bd1c0a0c-379a-31a8-a3b1-e6401e2f1523
Hive入门
浏览量:44440
社区版块
存档分类
最新评论

[一起学Hive]之七-向Hive表中加载数据

    博客分类:
  • hive
阅读更多

      在Hive中建好表之后,需要将数据加载进来,以便做后续查询分析,本文介绍向Hive表中加载数据的几种方式。

6.1 建表时候直接指定

       如果你的数据已经在HDFS上存在,已经为结构化数据,并且数据所在的HDFS路径不需要维护,那么可以直接在建表的时候使用location指定数据所在的HDFS路径即可。

比如:

CREATE [EXTERNAL] TABLE t_lxw1234 (
day STRING,
url STRING)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ' '
stored as textfile
location '/tmp/lxw1234/';

 

       这里内部表和外部表都可以指定,但需要注意,如果是内部表,那么在DROP该表的时候,同时会将LOCATION所指定的目录一起删除。

 

6.2 从本地文件系统或者HDFS的一个目录中加载

如果数据在本地,或者HDFS的某一个目录下,需要加载到目标中或分区中,那么使用LOAD DATA命令即可加载数据:

  • 加载本地文件

LOAD DATA LOCAL INPATH ‘/home/lxw1234/t_lxw1234/’

INTO TABLE t_lxw1234 PARTITION (day = ‘2015-06-15’);

  • 加载HDFS文件

LOAD DATA INPATH ‘/user/lxw1234/t_lxw1234/’

INTO TABLE t_lxw1234 PARTITION (day = ‘2015-06-15’);

6.3 从一个子查询中加载数据

这个比较简单,就是将一个查询结果插入到目标表或分区中:

INSERT overwrite TABLE t_lxw1234 PARTITION (day = ‘2015-06-15’)

SELECT day,url from source_table;

6.4 导出Hive中的数据到文件系统

这里也介绍一下从Hive中导出数据到文件系统(HDFS和本地文件系统)。

语法为:

INSERT OVERWRITE [LOCAL] DIRECTORY directory1
[ROW FORMAT row_format] [STORED AS file_format]
SELECT ... FROM ...

 

如果指定了LOCAL关键字,则为导出到本地文件系统,否则,导出到HDFS。
使用ROW FORMAT关键字可以指定导出的文件分隔符,比如:

 

INSERT OVERWRITE LOCAL DIRECTORY '/tmp/lxw1234/'
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
SELECT * FROM t_lxw1234;

 

该语句将t_lxw1234表的所有数据导出到本地文件系统/tmp/lxw1234/目录,字段间的分隔符为逗号。

cat /tmp/lxw1234/000000_0
2015-05-10,url1
2015-05-10,url2
2015-06-14,url1
2015-06-14,url2
2015-06-15,url1
2015-06-15,url2

更多关于Hive数据加载和导出的介绍,请参考官方文档:
https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DML#LanguageManualDML-Loadingfilesintotables

 

 

Hive相关文章(持续更新)

一起学Hive系列

—-Hive概述,Hive是什么

—-Hive函数大全-完整版

—-Hive中的数据库(Database)和表(Table)

—-Hive的安装配置

—-Hive的视图和分区

—-Hive的动态分区

Hive分析函数系列

Hive索引

hive优化之——控制hive任务中的map数和reduce数

 

1
0
分享到:
评论
1 楼 annmi_cai 2016-03-11  
顶顶更健康

相关推荐

    03_Hive.docx

    - **数据加载**:支持从本地文件系统加载数据到 HDFS,或直接从 HDFS 加载数据到表中。 - **数据导出**:支持将表中的数据导出到 HDFS 或本地文件系统。 通过以上知识点的学习,初学者可以对 Hive 有一个较为全面的...

    大数据 虚拟机 Linux VM复习题库:题库包括了60题选择题、10题填空题、10题判断题、2题简答题,助你度过期末复习

    【大数据虚拟机Linux VM复习题库】主要涵盖了大数据处理、Hadoop生态系统中的Hive以及Linux虚拟机相关的知识。以下是对这些知识点的详细说明: 1. **数据仓库与数据库系统的关系**: 数据仓库是一个用于报告和数据...

    第15章-Sqoop+Hive+Hbase+Kettle+R某技术论坛日志分析项目案例.docx

    7. **Sqoop MySQL数据导入**:使用Sqoop将MySQL中的数据导入到Hive表中。 8. **R语言可视化分析**:利用R语言绘制图表,直观展示数据分析结果。 通过完成以上任务,不仅可以掌握各工具的具体操作步骤,还能深入理解...

    实验3MyJoin1

    - **数据加载**:创建表后,可以将MapReduce的输出结果导入到Hive表中,这通常是通过`LOAD DATA`语句或Hive外部表实现的。在实验描述中,Hive表的创建已经预设了数据的存储路径,因此可以直接通过Hive查询此表。 -...

    伪分布式的Hadoop+Hive+HBase搭建记录[收集].pdf

    Hive是建立在Hadoop之上的数据仓库工具,它允许用户使用SQL(HQL,Hive SQL)语言进行数据查询、分析和管理。Hive将SQL语句转化为MapReduce任务执行,提供了对大型数据集的高效分析能力。尽管Hive的查询速度相比传统...

    福建师范大学精品大数据导论课程系列 (5.9.1)--4.4 一种基于Hadoop的数据仓库之三.rar

    数据仓库通常包含多个数据源,通过ETL(提取、转换、加载)过程将这些源数据整合到一起,形成结构化的、适合分析的数据模型。 在Hadoop平台上构建数据仓库,我们通常会用到Hadoop的两个核心组件:HDFS(Hadoop ...

    大数据存储与数据仓库实验指导.zip

    数据仓库通常经过ETL(提取、转换、加载)过程,将来自多个源的数据整合到一起,以便进行统一的分析。常见的数据仓库架构包括星型模式、雪花模式等,这些模式优化了查询性能并简化了数据关系。 在实验指导中,你...

    数据仓库入门和提高教程

    学习数据仓库的过程中,你还需要掌握SQL语言,特别是用于大数据分析的扩展SQL,如Hive或Spark SQL。同时,理解数据治理、数据安全和数据质量也是不可或缺的部分。随着大数据和云计算的发展,现代数据仓库如AWS ...

    多维数据的图形化展示

    开发者需要将这些组件集成在一起,通过编程实现数据的加载、处理和渲染,最终形成交互式的多维数据图形化展示。 总的来说,掌握HTML、CSS、JavaScript、jQuery和D3.js是实现高效、美观且交互性强的数据图形化展示的...

    蜂巢数据负载分区存储

    在实际操作中,**数据加载(Data Loading)**是将外部数据导入Hive表的过程。这通常涉及使用`LOAD DATA`命令或者`INSERT OVERWRITE`语句。在分区表中,我们可以在加载数据时指定目标分区,确保数据被正确地放置。 ...

    cdh sql++++++++++++++++++++++++++

    2. **数据插入**:使用`INSERT INTO`语句向数据库表中添加新记录。例如,`INSERT INTO table_name (column1, column2) VALUES ('value1', 'value2')`。 3. **数据更新**:`UPDATE`语句用于修改现有记录。例如,`...

    DOE大型离线数仓与用户画像系统课程分享2022

    在这个课程中,你将学习到如何规划和设计离线数仓架构,包括数据抽取(ETL)、数据清洗、数据转换和数据加载等关键步骤。 接着,我们来探讨“用户画像”(User Profile)。用户画像是通过收集和分析用户的个人信息...

    大数据技术与应用基础-教学大纲.pdf

    HBase的学习内容包括基本概念、集群安装和API操作,而Hive则让学生了解其在数据处理中的作用,学习如何通过Hive接口进行数据查询和分析。 Spark作为高效的集群计算环境,被广泛用于大数据处理。课程将介绍Spark的...

    hadoop复习题.docx

    12. **Hive**:Hive是一个数据仓库工具,将SQL查询转化为MapReduce作业,适用于数据分析、ETL(提取、转换、加载)和数据仓库构建。Hive的数据计算依赖于MapReduce,简化了对大数据的分析。 总的来说,Hadoop是一个...

    销售案例数仓+spark项目答案版.zip

    数仓与Spark技术在现代大数据处理中扮演着至关重要的角色,尤其在销售数据分析领域。本项目结合了这两种技术,提供了一种解决方案,帮助企业和组织更好地理解销售数据,从而制定更有效的商业策略。以下是对"销售案例...

    讲义千亿数仓汇总.7z

    1. **数据仓库基础**:解释数据仓库的基本概念,包括OLAP(在线分析处理)、ETL(抽取、转换、加载)过程以及星型/雪花型模型等。 2. **大数据处理框架**:介绍Hadoop、Spark等框架的工作原理,以及如何使用它们...

    大数据学生文件.zip

    4. 大数据架构与设计:数据湖、数据仓库的构建,以及ETL(提取、转换、加载)过程。 5. 实际案例研究:社交媒体分析、推荐系统、金融风险评估等应用场景。 6. 安全与隐私:大数据环境下的数据保护策略、数据加密、...

    Hefesto - Business Intelligence:关于商业智能和数据仓库的出版物-开源

    数据仓库通常包含以下组件:数据源、抽取(ETL,即提取、转换、加载)、数据存储和前端分析工具。 “Hefesto:构建数据仓库的方法论”则可能涵盖了一种特定的框架或流程,用于指导数据仓库的设计、建设和维护。...

    Data_Engineering_Nanodegree:回购以存储有关Udacity上的数据工程纳米学位的文件和一些项目

    **Jupyter Notebook**是数据科学和数据分析领域广泛使用的一种交互式环境,它允许用户将代码、文本、数学公式和可视化结合在一起。在本课程中,Jupyter Notebook可能会用于教授Python编程基础,数据预处理技巧,如...

    hadoop插件winutils.exe

    在实际应用中,winutils.exe常用于数据处理、ETL(提取、转换、加载)任务、数据分析和测试环境中。对于初学者和开发者来说,理解如何在Windows上正确配置和使用winutils.exe是学习Hadoop和相关大数据技术的重要步骤...

Global site tag (gtag.js) - Google Analytics