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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • TensorFlow版本与Python版本对应关系以及TensorFlow包的下载

    TensorFlow版本与Python版本对应关系以及TensorFlow包的下载下载地址:https://www.tensorflow.org/install/pip?lang=python2Anconda下Python2.7版本的TensorFlow的安装condacreate-ntfPython=2.7#创建2.7版本的环境condaactivatetf#激活创建的环境pipinstalltensorflow_gpu-1.12…

    2022年5月27日
    424
  • url转二维码[通俗易懂]

    url转二维码[通俗易懂]前端简单实现页面路径转化为二维码

    2025年9月22日
    7
  • Pycharm设置解释器「建议收藏」

    Pycharm设置解释器「建议收藏」背景:最近需要改文章,增加实验,要把之前的实验跑起来。其间,遇到一个很诡异的问题,在一个工程里跑得很正常的程序,到了另外一个工程里,相似的文件,只是修改了一点参数而已,就会报错,如ModuleNotFoundError:Nomodulenamed’tensorflow.contrib.slim’,当时就怀疑是不是解释器设置问题。由于当时夜黑风高,困意来袭,解释器位置设置竟然也找不到,作罢。第二天直接复制粘贴找问题原因无果。问题:果然是解释器设置问题。默认的解释器是base的python环境,由.

    2022年8月25日
    7
  • Pytest(16)随机执行测试用例pytest-random-order[通俗易懂]

    Pytest(16)随机执行测试用例pytest-random-order[通俗易懂]前言通常我们认为每个测试用例都是相互独立的,因此需要保证测试结果不依赖于测试顺序,以不同的顺序运行测试用例,可以得到相同的结果。pytest默认运行用例的顺序是按模块和用例命名的ASCII编码

    2022年7月30日
    5
  • kubernetes-批量删除Evicted Pods[通俗易懂]

    kubernetes-批量删除Evicted Pods[通俗易懂]前言通过kubectlgetpods发现有很多的EvictedPod,于是想通过脚本删除。脚本#!/bin/bashforeachin$(kubectlgetpods|grepEvicted|awk'{print$1}’);dokubectldeletepods$eachdone还有更简单的写法,如下:kubectlg…

    2022年5月13日
    51
  • WINDOWS XP安装SQL2000方法

    一.在SQL服务器的安装盘中找到MSDE这个目录,并且点击setup.exe安装它,过程简单直接下一步就OK了。二.重启系统WINDOWSXP,这下就可以看到SQL服务的图标出现了。三.再拿出SQL服务器版的安装光盘,直接安装客户端工具(最简单的方法就是直接点击光盘根目录下的autorun.exe)根据提示安装,自检过程中知道系统不是SERVER版,会提示只安装客户端工具。四.打开企业管理器

    2022年4月13日
    130

发表回复

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

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