hive的数据类型(hive的数据类型有哪些)

本篇文章给大家谈谈hive的数据类型,以及hive的数据类型有哪些对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

hive 数据类型

由于在实际项目中使用,这里主要讲一下数值型

1、TINYINT

2、SMALLINT

3、INT/INTEGER

4、BIGINT

5、FLOAT

6、DOUBLE

7、DECIMAL

hive 数值型主要是以上7种组成。

这里主要讲一下Double 和Decimal

对于小数的显示,我在项目中考虑用Double还是Decimal,由于Double 不如Decimal精确,而且在数字过长的时候型裂会有科学技术法表示,所以这块用的是Decimal去做的。

用的时候也出现过问题。Decmal的用法如下 Decimal(precision, scale)

precision 表示的是长度

scale 表示 小数位卜厅闭数

比如 -99.99 表示precision为4 (注意 正负号不包括在内伏桥) scale 为2

之前我以为是总体20位,小数有2位那么 整数就能有18位了 ,其实不是这样子,举个例子。一个小数333.07 导入表

而建立一个Decimal(20,17) 的话 便可以顺利导入

hive表的类型有哪些

Hive 的表有哪些类型呢,我们简单可以分为四种,受控表、外部表、分区表、桶表,从严格意义上说,应该分为两种受控表,又叫内部表、外部表,分区表和桶表高橘拍其实是受控表的不同体现。

1、受控表

所谓受控表,我们也经常叫内部表,和外部戚羡表对应起来,就是说表的数据的生命周期收表的控制,当表定义被删除的时候,表中的数据随之一并被删除。创建一张表,其对应在hive中就有了表记录,在metastore表TBLS中就有表定义,当我们一旦从hive中删除一张表的定义之后,其表中的数据也就不复存在了,在metastore中的定义也就不存在了。

2、外部表

和受控表相对的,怎么相对呢,你的内部表的数据的生命周期受表定义的影响不是,外部表的不是这样的,数据的生命周期, 或者说数据存在与否和表的定义互不约束,表中的数据呢,只是表对hdfs上相应文件的一个引用而伍尺已,当删除表定义的时候,表中的数据依然存在。

3、分区表

假设服务器集群每天都产生一个日志数据文件,把数据文件统一存储到HDFS中。我们如果想查询某一天的数据的话,hive执行的时候会对所有文件都扫描一遍,判断是否是指定的日期。可以让日期作为一个子目录。当hive查询的时候,根据日期去判断子目录。然后扫描符合条件的子目录中的数据文件。

4、桶表

桶表是对数据进行哈希取值,然后放到不同文件中存储。分桶是将数据及分解成更容易管理的若干部分的另一种技术。如果进行表连接操作,那么就需要对两张表的数据进行全扫描。非常耗费时间。可以针对连接字段进行优化。分桶这种情况下呢,对于相似的表中的数据进行比较的话就非常的方便了,只要对比相应的桶中的数据就可了。

Hive复杂数据类型:array、map、struct

目前所学的复杂数据类型有三种 array , map , struct 。

用这种数据类型的特点就是集合里的每一个字段都是一个具体的信息,不会是那种 key 与 values 的关系

load数据如上所示,一共两个字段, ruoze 和他们工作的城市

也就是字段与字段之间的分割用table array字段之间的分割用“ , ”。

array_contains 这个函数是array_contains(array字段,‘字段包含的内容’)

比如以上就是array字塌宴段包含 tianjin 的数据。

以上数据一共有3个字段,分别为id,name,member。其中member里的内容都是以 key:values 的形式出现的,若是这种形式一般用 map 这种复杂数据类型

struct('a',1,2,3,4) (这个数据类型的特点就是可以包含各种各样的数据类型。但是 struct 可以是任意数据类型,在写struct数据类型时,在 察衫液 中要写清楚struct字段中的字败物段名称跟数据类型)

[img]

关于hive的数据类型和hive的数据类型有哪些的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

相关阅读

  • 数据sql(查询前10条数据sql)

    数据sql(查询前10条数据sql)

    标题:深入了解数据SQL技术简介:数据SQL技术在IT领域中起着重要作用,能够对数据进行管理、查询和分析。本文将详细介绍数据SQL技术的定义、特点以及应用领域。一、什么是数据SQL技术数据SQL技术是一种用于管理关系数据库中数据的标准化语言...

    2024.04.14 03:22:12作者:intanet.cnTags:数据sql
  • sql创建数据库(mysql创建数据库)

    sql创建数据库(mysql创建数据库)

    简介:在IT技术中,SQL(Structured Query Language)是一种用于管理关系数据库的标准语言。创建数据库是数据库管理的基础操作之一,通过SQL语句可以方便地创建数据库,并定义其中的数据表和数据结构。一、创建数据库首先,...

    2024.04.14 02:55:09作者:intanet.cnTags:sql创建数据库
  • 包含mysqldateformat的词条

    包含mysqldateformat的词条

    文章标题:MySQL日期格式简介:MySQL是一种广泛使用的关系型数据库管理系统,日期格式在数据库中也是非常重要的。在MySQL中,日期格式有许多种不同的方式来表示和存储日期数据。本文将介绍MySQL中日期格式的相关知识。一级标题:日期格式...

    2024.04.14 01:44:11作者:intanet.cnTags:mysqldateformat
  • sql注入联合查询语句(oracle联合查询注入)

    sql注入联合查询语句(oracle联合查询注入)

    简介:SQL注入是一种常见的网络安全攻击方式,攻击者利用恶意SQL语句篡改数据库查询,甚至控制数据库服务器。其中,注入联合查询是一种常见的SQL注入攻击方式,攻击者通过联合查询语句向数据库中插入额外的查询语句,以获取额外的敏感信息或实现恶意...

    2024.04.13 22:44:12作者:intanet.cnTags:sql注入联合查询语句
  • sql注入java(SQL注入原理)

    sql注入java(SQL注入原理)

    简介:SQL注入是一种常见的网络安全攻击技术,通过向应用程序中的输入字段注入恶意SQL代码来实现对数据库的非法访问。在Java开发中,防止SQL注入攻击至关重要。本文将介绍如何在Java中防止SQL注入攻击。一级标题:什么是SQL注入攻击?...

    2024.04.13 19:33:29作者:intanet.cnTags:sql注入java
  • redis最新版(redis最新版本下载及安装教程)

    redis最新版(redis最新版本下载及安装教程)

    简介:Redis是一个开源的内存数据库,它可以用作数据库、缓存和消息中间件。最新版本的Redis提供了更多的功能和性能优化,使其在大规模应用和高并发情景下表现更出色。本文将介绍Redis最新版的一些特点和改进。一、性能提升最新版的Redis...

    2024.04.13 19:11:10作者:intanet.cnTags:redis最新版
  • 数据仓库模型(数据仓库模型层次包括)

    数据仓库模型(数据仓库模型层次包括)

    数据仓库模型简介:数据仓库模型是指将不同数据源中的数据整合、清洗、存储在一个统一的数据仓库中,以便于企业进行数据分析和决策支持。数据仓库模型通过将原始的杂乱无章的数据转化为结构化、易于分析的数据来帮助企业更好地了解自身和市场情况,从而做出科...

    2024.04.13 06:22:17作者:intanet.cnTags:数据仓库模型
  • mysql导入sql命令(mysql命令导入sql文件命令)

    mysql导入sql命令(mysql命令导入sql文件命令)

    简介:在IT技术领域中,MySQL是一种常用的关系型数据库管理系统,它支持使用Structured Query Language(SQL)语句来操作数据库。在日常工作中,我们经常需要导入SQL命令来对数据库进行操作,本文将详细介绍如何在My...

    2024.04.13 05:22:12作者:intanet.cnTags:mysql导入sql命令