hive内表和外表

2024-05-25 03:08
文章标签 hive 外表 内表

本文主要是介绍hive内表和外表,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

真实数据和元数据区分参考博文:https://blog.csdn.net/u010916338/article/details/90247121

一,内表

1,真实数据存放在hdfs上。

2,真实数据存放在hive默认创建的路径下。

如图所示stu就是内表。

3,内表一般都是先创建表再插入数据。

             注:采用方式(1)插入数据,创建表不需要指定分割符: create table stu (id int,name string);

                    采用方式(2)和(3)插入数据,创建表必须指定分隔符:create table stu1(id int,name string) row format delimited fields terminated by ' ';

          (1)insert into stu values(1,'zhang');

          (2)从Linux服务器本地磁盘加载:load data local inpath '/home/software/2.txt' into table stu;

          (3)不通过load 指令,可以直接向stu(表名)目录下上传一个文件,前提是分割符必须和创建表时指定的一样。思路有三:1,采用命令hadoop fs -put stu3.txt /user/hive/warehouse/park.db/stu    2,采用hdfs追加写入方式,Java和spark均可操作。3,使用flumesink落地到hdfs方式。

 二,外表

1,真实数据存放在hdfs上。

2,但是真实数据没有存放在hive默认创建的路径下。

3,外表一般都是先有了外部数据,然后hive才创建表将其关联起来。

create external table stu (id int,name string) row format delimited fields terminated by  '  ' location   '/data';
 注:这里的‘/data’一定是hdfs上的文件,因为外表只能关联hdfs上的文件。

注意事项:

        内表删除时会删除真实数据,外表删除时不会删除真实数据。原因:内表真实数据存在于hive默认创建的路径下,此数据只有hive会用到,直接删除不影响其他模块使用(比如spark)。但是外表就不同,不单单只有hive使用,如果随意删除会影响其他模块使用。

 

 

 

 

 

这篇关于hive内表和外表的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1000307

相关文章

ABAP怎么把传入的参数刷新到内表里面呢?

1.在执行相关的功能操作之前,优先执行这一段代码,把输入的数据更新入内表里面 DATA: lo_guid TYPE REF TO cl_gui_alv_grid.CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'IMPORTINGe_grid = lo_guid.CALL METHOD lo_guid->check_changed_data.CALL M

BD错误集锦9——查询hive表格时出错:Wrong FS: hdfs://s233/user/../warehouse expected: hdfs://mycluster

集群环境描述:HDFS集群处于HA模式下,同时启动了YARN\JN\KAFKA\ZK。 现象: FAILED: SemanticException Unable to determine if hdfs://s233/user/hive/warehouse/mydb.db/ext_calllogs_in_hbase is encrypted: java.lang.IllegalArgument

BD错误集锦1——[Hive]ERROR StatusLogger No log4j2 configuration file found. Using default configuration:

错误描述:在使用IDEA进行jdbc方式连接到hive数据仓库时,出现以下错误:                ERROR StatusLogger No log4j2 configuration file found. 问题原因:缺少log4j2.xml文件   <?xml version="1.0" encoding="UTF-8"?><Configuration><Appender

Hive笔记-2

第 3 章 DDL (Data Definition Language) 数据定义 DDL数据定义语言 DML数据操作语言 3.1 数据库 (database) 3.1.1 创建数据库 1) 语法 CREATE DATABASE [IF NOT EXISTS] database_name[COMMENT database_comment][LOCATION hdfs_pat

[SAP ABAP] 读取内表数据

1.读取单条数据 1.1 索引查找 语法格式 READ TABLE <itab> INTO <wa> INDEX <idx>. <itab>:代表内表 <wa>:代表工作区 <idx>:代表索引值 示例1 结果显示: 1.2 关键字查找 READ TABLE <itab> INTO <wa> WITH KEY k1 = f1 k2 = f2 ... kn = fn.

[SAP ABAP] 插入内表数据

语法格式 INSERT <wa> INTO <itab> INDEX <idx>. <wa>:代表工作区 <itab>:代表内表 <idx>:代表索引值 示例1 结果显示: 语法格式 INSERT <wa> INTO TABLE <itab>. <wa>:代表工作区 <itab>:代表内表 示例2 结果显示: 提示Tips:如果定义的是标准表,使用I

[SAP ABAP] 追加内表数据

向内表中逐条追加数据记录 语法格式 APPEND <wa> TO <itab>. <wa>:代表工作区 <itab>:代表内表 示例1 结果显示: 将一个内表中的所有数据记录添加到另一个内表中 语法格式 APPEND LINES OF <itab1> TO <itab2>. <itab>:代表内表 示例2 结果显示:

修改NameNode端口后,hive表查询报错

https://www.cnblogs.com/zhangXingSheng/p/7073584.html 修改NameNode端口后,hive表查询报错 在进行使用hive查询表数据的时候,抛出异常 hive> select*from blackList;FAILED: SemanticException Unable to determine if hdfs://node1

大数据学习-Hive

介绍 分布式 SQL 计算 做数据的统计分析,SQL 是最方便的工具 在大数据中,有很多的统计分析场景,那么 SQL 来处理大数据是非常合适且频繁的 以后可能就是 SQL Boy 了,所以学习前需要有 MySQL 的基础 Hive 的功能 是一个分布式 SQL 计算工具,底层由 MapReduce 实现 将 SQL 语句翻译为 MapReduce 程序,然后执行,即写的是 SQL

mysql/hive实现lead()不同偏移量数据

由于MySQL中不带有LEAD()函数功能,因此,参考着一篇已有的文档实现了不同偏移量的功能原文链接地址:mysql的lag和Lead函数 本文对比了hive和MySQL实现该功能的方式: Hive实现方法 PS :空值处设置为NULL select*from(selectorders as col_0,lead(orders, 1) over() as col_1,lead(orders