hive建表

2023-11-06

https://blog.csdn.net/wgyzzzz/article/details/107446435

一、hive建表语法
二、hive外部表
1、准备测试数据、放入虚拟机/data目录下
2、创建外部表
3、装载数据
4、查询test1表
5、查询test1在hdfs上的位置
6、通过desc命令查看表的状态
7、删除表,查看表在hdfs上的状态
8、重新创建外部表test3,通过location关键字指向test1
9、查询test3
三、hive内部表(管理表)
1、创建内部表
2、装载数据
3、查询test2表
4、查询test2在hdfs上的位置
5、通过desc命令查看表的状态
6、删除表,查看表在hdfs上的状态
四、内部表与外部表的区别
五、内外部表的互相转换
1、外部表转换为内部表
2、内部表转换外部表
一、hive建表语法
CREATE [EXTERNAL] TABLE [IF NOT EXISTS] employee_external (    //EXTERNAL关键字添加为外部表
    name string,
    work_place ARRAY<string>,
    sex_age STRUCT<sex:string,age:int>,
    skills_score MAP<string,int>,
    depart_title MAP<STRING,ARRAY<STRING>>
)
COMMENT 'This is an external table'                            //对表的注释
ROW FORMAT DELIMITED                                      
FIELDS TERMINATED BY '|'                                       //如何分隔列(字段)
COLLECTION ITEMS TERMINATED BY ','                             //如何分隔集合和映射
MAP KEYS TERMINATED BY ':'
STORED AS TEXTFILE                                             //文件存储格式
LOCATION '/user/root/employee';                                // 数据存储路径(HDFS)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
二、hive外部表
1、准备测试数据、放入虚拟机/data目录下


2、创建外部表
create external table if not exists test1(
     id int,
     name string
     )
     row format delimited
     FIELDS TERMINATED BY ',';
1
2
3
4
5
6
3、装载数据
load data local inpath '/data/test.txt' overwrite into table test1;
1
4、查询test1表


5、查询test1在hdfs上的位置


6、通过desc命令查看表的状态


7、删除表,查看表在hdfs上的状态

test1还在!

8、重新创建外部表test3,通过location关键字指向test1


9、查询test3


总结:外部表的删除,只会删除元数据,并不会删除数据本身

三、hive内部表(管理表)
1、创建内部表
create table if not exists test2(
    >      id int,
    >      name string
    >      )
    >      row format delimited
    >      FIELDS TERMINATED BY ',';
1
2
3
4
5
6
2、装载数据
load data local inpath '/data/test.txt' overwrite into table test2;
1
3、查询test2表


4、查询test2在hdfs上的位置


5、通过desc命令查看表的状态


6、删除表,查看表在hdfs上的状态


test2表不在了

总结:内部表的删除会将数据一起删除

四、内部表与外部表的区别
1.未被external修饰的是内部表【managed table】,被external修饰的为外部表【external table】。

2.内部表数据由Hive自身管理,外部表数据由HDFS管理。

3.内部表数据存储在hive.metastore.warehouse.dir【默认:/user/hive/warehouse】,外部表数据存储位置由用户自己决定。

4.删除内部表会直接删除元数据【metadata】及存储数据,删除外部表仅仅删除元数据,HDFS上的文件不会被删除

五、内外部表的互相转换
在工作中,推荐使用外部表,如果操作失误,数据还可以保留,如果建表的时候建错了,可以通过以下命令将内部表转换成外部表

根据上述操作 test3 现在为外部表

1、外部表转换为内部表
先查看一下test3表的状态


执行命令
alter table test3 set tblproperties('EXTERNAL'='false');

再次查看test3状态


2、内部表转换外部表
执行命令
alter table test3 set tblproperties('EXTERNAL'='true');
即可
————————————————
原文链接:https://blog.csdn.net/wgyzzzz/article/details/107446435

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

hive建表 的相关文章

  • HBase、Hadoop:如何估计 HBase 表或 Hadoop 文件系统路径的大小?

    我有多个 HBase 表 如何估计在 java 中使用的表的大致大小 一种方法是你必须使用java客户端访问hdfs 通常在 hbase文件夹 所有表格信息 将在场 Hadoop 外壳 你可以检查使用hadoop fs du h path
  • 更改 Hadoop 中的数据节点数量

    如何改变数据节点的数量 即禁用和启用某些数据节点来测试可扩展性 说得更清楚一点 我有4个数据节点 我想一一实验1 2 3 4个数据节点的性能 是否可以只更新名称节点中的从属文件 临时停用节点的正确方法 创建一个 排除文件 这列出了您想要删除
  • 在蜂巢中出现错误

    当我连接到 ireport 时 如果说在 hive shell 中显示表 则会出现此错误 元数据错误 java lang RuntimeException 无法实例化 org apache hadoop hive metastore Hiv
  • Hadoop-reducer 如何获取数据?

    据我所知 映射器为每个减速器生成 1 个分区 减速器如何知道要复制哪个分区 假设有 2 个节点运行用于字数统计程序的映射器 并且配置了 2 个缩减器 如果每个映射节点生成 2 个分区 并且两个节点中的分区都可能包含相同的单词作为键 那么减速
  • 与文件名中的冒号“:”作斗争

    我有以下代码 用于加载大量 csv gz 并将它们转储到其他文件夹中 并将源文件名作为一列 object DailyMerger extends App def allFiles path File List File val parts
  • Hive NVL 不适用于列的日期类型 - NullpointerException

    我正在使用 HDFS 上的 MapR Hive 发行版并面临以下问题 如果表的列类型是 日期 类型 则NVL https cwiki apache org confluence display Hive LanguageManual UDF
  • ETL informatica 大数据版(非云版)可以连接到 Cloudera Impala 吗?

    我们正在尝试在 Informatica 大数据版本 不是云版本 上进行概念验证 我发现我们可能能够使用 HDFS Hive 作为源和目标 但我的问题是 Informatica 是否连接到 Cloudera Impala 如果是这样 我们是否
  • 如何在Hadoop中序列化List集合对象?

    有没有办法在 Hadoop 中序列化 java 集合 The Writable接口仅适用于 Java 原语 我有以下类属性 private String keywords private List
  • 更改spark_temporary目录路径

    是否可以更改 temporarySpark在写入之前保存临时文件的目录 特别是 由于我正在编写表的单个分区 因此我希望临时文件夹位于分区文件夹内 是否可以 由于其实现原因 无法使用默认的 FileOutputCommiter FileOut
  • 如何用snappy解压hadoop的reduce输出文件尾?

    我们的 hadoop 集群使用 snappy 作为默认编解码器 Hadoop作业减少输出文件名就像part r 00000 snappy JSnappy 无法解压缩文件 bcz JSnappy 需要以 SNZ 开头的文件 归约输出文件以某种
  • 为 Spark Thrift 服务器提供仓库目录的路径

    我已经设置了 Spark 集群 并且成功通过 Spark SQL 连接器连接 Tableau 我从 Spark shell 创建了表 并使用 saveAsTable 如何访问从 Tableau 保存的表 启动spark thrift服务器时
  • Hive 聚集在多个列上

    据我所知 当配置单元表聚集在一列上时 它会执行该分桶列的哈希函数 然后将该行数据放入其中一个桶中 每个桶都有一个文件 即如果有 32 个桶 那么 hdfs 中就有 32 个文件 将 clustered by 放在多个列上意味着什么 例如 假
  • scala/spark 代码不允许在 hive 中添加列

    如果源数据有新列 我尝试在 Hive 表中添加一列 所有新列的检测都运行良好 但是 当我尝试将列添加到目标表时 我收到此错误 for f lt df schema fields if f name chk spark sqlContext
  • hive 中的授予权限在 hdp2.2 上不起作用

    我正在 CentOS 6 5 上使用 Ambari 设置来试验 HDP2 2 集群 但在运行 Hive GRANT 查询时遇到问题 例如 一个查询 grant select on Tbl1 to user root 给了我一个看起来像这样的
  • 将数据从 .txt 文件加载到 Hive 中以 ORC 形式存储的表

    我有一个数据文件位于 txt格式 我正在使用该文件将数据加载到 Hive 表中 当我将文件加载到类似表中时 CREATE TABLE test details txt visit id INT store id SMALLINT STORE
  • Protobuf RPC 在 Hadoop 2.2.0 单节点服务器上不可用?

    我正在尝试在按照本教程安装的本地单节点集群上运行 hadoop 2 2 0 mapreduce 作业 http codesfusion blogspot co at 2013 10 setup hadoop 2x 220 on ubuntu
  • MapReduce 中的分区到底是如何工作的?

    我认为我总体上对 MapReduce 编程模型有一定的了解 但即使在阅读了原始论文和其他一些来源之后 我仍然不清楚许多细节 特别是关于中间结果的分区 我将快速总结到目前为止我对 MapReduce 的理解 我们有一个可能非常大的输入数据集
  • 如何解决 java.lang.RuntimeException: PipeMapRed.waitOutputThreads(): subprocess failed with code 2?

    我正在尝试在 Hadoop 环境中执行 NLTK 以下是我用于执行的命令 bin hadoop jar HADOOP HOME contrib streaming hadoop streaming 1 0 4 jar input user
  • hive regexp_extract 怪异

    我在 regexp extract 方面遇到一些问题 我正在查询制表符分隔的文件 我正在检查的列具有如下所示的字符串 abc def ghi 现在 如果我这样做 select distinct regexp extract name 0 f
  • Spark中如何获取map任务的ID?

    Spark中有没有办法获取map任务的ID 例如 如果每个映射任务都调用用户定义的函数 我可以从该用户定义的函数中获取该映射任务的 ID 吗 我不确定您所说的地图任务 ID 是什么意思 但您可以使用以下方式访问任务信息TaskContext

随机推荐

  • 【毕业设计】可伸缩带式输送机结构设计【二维图+三维图+论文】

    摘 要 带式输送机是一种连续机械 被广泛应用于国民经济各个部门 因为它有许多优点 如运行平衡 运转可靠 能耗低 对环境污染小 便于集中控制和实现自动化 管理维护方便等 为了满足特定需求 本文根据地面主提升带式输送机的原始参数 结合常规上运带
  • 我的OpenCV4学习之旅(1)-OpenCV4初步了解

    我的OpenCV4学习之旅 1 OpenCV4初步了解 OpenCV4学习笔记总结资料来自 OpenCV4 快速入门 哔哩哔哩 OpenCV4 C 快速入门视频30讲 Opencv4简单介绍 OpenCV4是目前最流行的计算机视觉处理库之一
  • AD绘制总线

    1 绘制总线 总线以及总线入口 2 总线入口点击空格键可以进行旋转 3 绘制完成后放置每个子线标号 4 放置总线的标号格式必须为 XXX m n 备注 总线标号没内部指定的m至n总数必须与实际的子线数量相等否则PCB报错
  • bi 建模流程图_PowerBI开发 第二篇:数据建模

    在分析数据时 不可能总是对单个数据表进行分析 有时需要把多个数据表导入到PowerBI中 通过多个表中的数据及其关系来执行一些复杂的数据分析任务 因此 为准确计算分析的结果 需要在数据建模中 创建数据表之间的关系 在PowerBI中 关系
  • 粒子群算法求解单目标优化问题——附Matlab代码实现

    粒子群算法求解单目标优化问题 附Matlab代码实现 粒子群算法 Particle Swarm Optimization PSO 是一种模拟鸟群或鱼群捕食行为的优化算法 它的基本思想是将一组解看作 粒子 并模拟每个粒子在解空间中移动的过程
  • 基础实验篇

    PX4控制器的外部通信 01 实验名称及目的 PX4控制器的外部通信 在进行硬件在环仿真时 我们常常需要向设计的Simulink控制器中发送数据 传感器数据 故障触发 控制指令 参数调整等 同时接收一些感兴趣的数据 RflySim平台的Si
  • Java学习笔记-锁

    Java学习笔记 锁 Lock 锁 从JDK5 0开始 Java提供了更强大的线程同步机制 通过显式定义同步锁对象来实现同步 同步锁使用Lock对象充当 java util concurrent locks Lock接口是个控制多线程对共享
  • linux磁盘空间不足的实用技巧

    1 删除日志 rm rf var log 安装了Anaconda后 发现这个文件越来越大 以下列一些删除不需要文件的方法 2 Anaconda 删除没有被硬依赖到其他地方的包 conda clean p 3 Anaconda 清理缓存的压缩
  • MySQL中视图与表的区别

    1 MySQL中视图和表的区别以及联系 1 视图是已经编译好的SQL语句 是基于SQL语句的结果集的可视化的表 而表不是 2 视图没有实际的物理记录 而表有 3 表是内存 视图是窗口 4 表占用物理存储空间而视图不占用物理存储空间 视图只是
  • undefined reference to ‘mysql_init@4‘ error: ld returned 1 exit status<-报错信息,用codeblocks连接MySQL时的报错

    解决方案 本文引用的是别人的文章 我自己总结一下 你能走到这一步出错说明你前面看了其他博主的文章 那么你只用利用文中提供网盘资源来代替你本来需要添加的include头文件的引用和lib库文件的链接即可 剩下的参考其他文章实现会更简单易懂 由
  • React组件之间如何通信?

    父组件向子组件传递 父组件在调用子组件的时候 在子组件标签内传递参数 子组件通过props属性就能接收父组件传递过来的参数 子组件向父组件传递 父组件向子组件传一个函数 然后通过这个函数的回调 拿到子组件传过来的值 兄弟组件之间的通信 父组
  • Spring源码分析(四)Bean生命周期源码分析2:合并BeanDefinition、FactoryBean

    Spring容器启动 扫描得到所有BeanDefinition之后 就会先实例化所有非懒加载的单例Bean的 入口 Spring容器启动刷新的方法里 org springframework context support AbstractA
  • 烂怂if-else代码优化方案

    0 问题概述 代码可读性是衡量代码质量的重要标准 可读性也是可维护性 可扩展性的保证 因为代码是连接程序员和机器的中间桥梁 要对双边友好 Quora 上有一个帖子 What are some of the most basic things
  • 【神经网络】图解LSTM和GRU

    图解LSTM和GRU 1 问题 循环神经网络 RNN Recurrent Neural Network 受到短期记忆的影响 如果一个序列足够长 就很难将早期产生的信息带到后续的步骤中来 因此 如果试图处理一段文字来做预测 RNN可能会从一开
  • 使用rke搭建k8s集群

    1 下载rke 选择合适的版本 https github com rancher rke 下载后上传到服务器 修改为rke 且移动号可执行目录 mv rke linux amd64 usr local bin rke 修改为可执行权限 ch
  • markdown+CSDN+Typora+知乎+微信公众号最佳偷懒写作方法

    目录 markdown 思想 适用范畴 基本语法 重点语法 高级语法 Typora 补充工具 公式编辑 保存和导出 导入 定制化主题 图片拖拽 超链接 列表 LaTex 公式 表格 生成目录 编辑模式 导出与公众号 md与CSDN 导入 导
  • 用户留存分析—SQL

    SELECT log day 日期 count user id day0 新增数量 count user id day1 count user id day0 次日留存率 count user id day3 count user id d
  • 星罗棋布:关于VPS测试脚本集锦内容

    2021 09 25 更新 优化排版 引言 莫忧世事兼身事 须著人间比梦间 勿埋我心 当我们获得一个服务器后 会想知道它的性能如何 宝塔自带跑分的应用 但是测试的数据比较片面 所以就有了各种各样的测试脚本 勿埋我心带你了解一下有哪些常用的V
  • VMware安装win10系统的心路历程

    友情提示 尽量使用原版或别人用过的 很早之前使用VMware装过win2008和centos7 都是傻瓜安装 没想到这次安装win10一点都不傻瓜 软件版本 VMware Workstation 15 Pro 1 按照常识先下载iso文件
  • hive建表

    https blog csdn net wgyzzzz article details 107446435 一 hive建表语法 二 hive外部表 1 准备测试数据 放入虚拟机 data目录下 2 创建外部表 3 装载数据 4 查询tes