hive 数据类型_类型数据

hive 数据类型_类型数据hive大数据数据类型

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

1 背景介绍

Hive是一个基于Hadoop的开源数据仓库工具,用于存储(HDFS)和处理(MapReduce或Spark)海量结构化数据,大多数公司都应用到Hive。

在实际数据开发过程中,同时会应用到编程语言Java以及数据库Mysql或者Oracle,大家都知道这几项大数据技术栈都存在数据类型,但是各自数据类型又大同小异,在实际建表的过程中经常容易混淆,因此需要弄清楚这些差异。

鉴于数仓建表时Hive使用频率较高,今天重点介绍Hive数据类型,便于大家更好的掌握。

2 Hive数据类型

2.1 基本数据类型

在这里插入图片描述
相关说明:

1). 本文重点介绍与Java数据类型对应关系,具体对应关系参考上图。
2). 在实际创建Hive表时,一般数值类型用int(不存在小数)或者decimal(存在小数),字符串类型用string,时间类型用timestamp,日期类型用date,其他Hive类型使用较少。
3). DECIMAL类型用于表示任意精度的小数,主要用来表示货币数值。精度指明非标度值的位数,标度指小数点右侧的位数。如DECIMAL(5,2) 范围区间-999.99到999.99,DECIMAL(5)范围区间-99999 到 99999。精度省略,默认值为10,即DECIMAL等价于DECIMAL(10,0)。
4). STRING是一个无最大长度声明的变长字符串,理论上最多存储2GB的字符数;VARCHAR需要声明最大长度(范围在1到65355之间);CHAR是固定长度字符串,如有必要则以空格填充尾部,当CHAR值被用于字符串比较操作时,忽略尾部空格。

2.2 集合数据类型

在这里插入图片描述
相关说明:

1). 集合数据类型在实际工作中使用较少。

2.3 类型转换

Hive的原子数据类型是可以进行隐式转换的,类似于Java的类型转换,例如某表达式使用INT类型,TINYINT会自动转换为INT类型,但是Hive不会进行反向转化,例如,某表达式使用TINYINT类型,INT不会自动转换为TINYINT类型,它会返回错误,除非使用CAST操作。

2.3.1.隐式类型转换规则如下
(1)任何数值类型都可以隐式地转换为一个范围更广的类型或者文本类型(STRING、VARCHAR、CHAR),如TINYINT可以转换成INT,INT可以转换成BIGINT。
(2)所有整数类型、FLOAT和文本类型都可以隐式地转换成DOUBLE。
(3)TINYINT、SMALLINT、INT都可以转换为FLOAT。
(4)BOOLEAN类型不可以转换为任何其它的类型。
(5)TIMESTAMP和DATE可以被隐式转换为文本类型。

2.3.2.可以使用CAST操作显示进行数据类型转换
例如CAST(‘1’ AS INT)将把字符串’1’ 转换成整数1;如果强制类型转换失败,如执行CAST(‘X’ AS INT),表达式返回空值 NULL。

3 总结

以上就是对hive数据类型的完整总结,需要结合实际业务场景选择对应数据类型,希望对大家有所帮助!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/190897.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Linux转发性能评估与优化-转发瓶颈分析与解决方式(补遗)[通俗易懂]

    Linux转发性能评估与优化-转发瓶颈分析与解决方式(补遗)

    2022年1月30日
    38
  • 怎么让联想计算机升级,联想电脑怎么升级win11?联想电脑升级win11的几种方法…

    怎么让联想计算机升级,联想电脑怎么升级win11?联想电脑升级win11的几种方法…最近刚发布的windows11的消息,但是很多朋友使用联想电脑的朋友不知道怎么升级win11。戴尔电脑升级win11的方法有很多,可以通过win10系统加入WINDOWS预览体验计划,这样就可以将win10升级到win11系统了,也可以采用自己下载win11镜像用u盘的方式升级到win11系统,下面小编就教大家几种将联想电脑升级win11的方法详细步骤。联想电脑升级win11方法一:官方升级法,…

    2022年5月20日
    118
  • jsonObject转map_java 对象转map

    jsonObject转map_java 对象转map直接上代码,实现了对嵌套的对象进行转换。privateMap<String,Object>toMap(JSONObjectobject){Map<String,Object>map=newHashMap<String,Object>();Objectvalue;Stringkey;for(Iterator<?&

    2022年8月23日
    8
  • 关于ScriptManager.RegisterStartupScript 摘录

    关于ScriptManager.RegisterStartupScript 摘录参数备注:使用 RegisterStartupScript 方法,可为与部分页面呈现兼容且不具有MicrosoftAJAXLibrary依赖项的页面注册启动脚本块。仅

    2022年7月4日
    31
  • 推荐几款好用的手机编程APP!

    推荐几款好用的手机编程APP!各位,很多人现在喜欢用手机写代码,今天小编就带大家盘点几款手机端编程软件。1C4droid【适用编程语言】C/C++【适用平台】Android2.2+【软件介绍】付费软件(国内免费,c4droid是款Android设备上的C/C++程序IDE(集成开发环境),默认以tcc(tinyccompiler)为编译器,可以选择安装gcc插件(20mb,只有root用户可以使用)。最新版为4.03(2013年7月7日更新)。贴吧已发布5.98版本,英文版及汉化版本,默认使用g++编译器,sd

    2022年5月23日
    102
  • hdfs的命令_hbase shell命令

    hdfs的命令_hbase shell命令hdfs命令InthislessononApacheHadoopHDFScommands,wewillgothroughthemostcommoncommandswhichareusedforHadoopadministrationandtomanagefilespresentonaHadoopcluster.在本课程中,有关Apach…

    2022年10月4日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号