当前位置: 首页 > news >正文

Hive中的数据类型和存储格式总结

1.数据类型

Hive 支持多种数据类型,分为原始数据类型和复杂数据类型两类。以下是 Hive 支持的数据类型:

原始数据类型:

        1.整数类型:

                tinyint: 1字节有符号整数
                smallint: 2字节有符号整数
                int: 4字节有符号整数
                bigint: 8字节有符号整数
                float: 4字节单精度浮点数
                double: 8字节双精度浮点数
                decimal: 高精度数字类型,可以指定精度和标度,例如 decimal(10,2)

        字节(Byte):计算机中最基本的存储单元之一,1字节占8位(bit)  ,数据范围:负数范围: -128 到 -1,正数范围: 0 到 127   

        2.字符串类型:

                string: 可变长度字符串
                varchar: 具有最大长度限制的可变长度字符串,例如 varchar(255)
                char: 固定长度字符串,例如 char(10)

        3.日期/时间类型:

                timestamp: 包含日期和时间的时间戳,精确到纳秒
                date: 仅包含日期部分,不包含时间部分
                interval: 时间间隔,用于表示两个日期或时间之间的差值

        4.Boolean类型:

                boolean: 布尔值,取值为 true 或 false

        5.二进制类型:

                binary: 任意长度的字节数组

复杂数据类型:
        1.数组类型

        array<T>: 包含多个相同类型元素的有序列表,例如 array<int>

        2.映射类型

        map<K, V>: 键值对的无序集合,其中键和值可以是任意数据类型,例如 map<string, int>


        3.结构类型

        struct<col1: type1, col2: type2, ...>: 包含多个字段的记录,每个字段可以是不同的数据类型,例如 struct<name: string, age: int>

CREATE TABLE example_table (tinyint_col tinyint,smallint_col smallint,int_col int,bigint_col bigint,float_col float,double_col double,decimal_col decimal(10, 2),string_col string,varchar_col varchar(255),char_col char(10),timestamp_col timestamp,date_col date,boolean_col boolean,binary_col binary,array_col array<int>,map_col map<string, int>,struct_col struct<name: string, age: int>,union_col uniontype<int, string>
);

2.Hive的文件存储格式

hive的存储格式分为两大类:

一类纯文本文件:textfile,不压缩,也是hive的默认存储格式

一类是二进制文件存储:    

sequencefile:会压缩,不能使用load方式加载数据

orcfile:会压缩,不能使用load方式加载数据

parquet:会压缩,不能使用load方式加载数据

rcfile:会压缩,不能使用load方式加载数据,是orcfile的低配

textfile和sequencefile的存储格式都是基于行存储的;orc和parquet是基于列式存储的,rcfile是行列混合存储。

在创建表格的时候可以使用stored as parquet指定表格的存储格式,例:

create table if not exists stocks_parquet (
track_time string,
url string,
session_id string,
referer string,
ip string,
end_user_id string,
city_id string
)
stored as parquet;

修改hive的默认存储格式:

<property><name>hive.default.fileformat</name><value>TextFile</value><description>Expects one of [textfile, sequencefile, rcfile, orc].Default file format for CREATE TABLE statement. Users can explicitly override it by CREATE TABLE ... STORED AS [FORMAT]</description>
</property>
也可以使用set方式修改:
set hive.default.fileformat=TextFile

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 对接企业微信API自建应用配置企业可信IP
  • [k8s源码]1.client-go集群外部署
  • 函数传值面试题
  • 【postgresql】视图(View)
  • ref 和 reactive 区别
  • Apache Lucene 详解及示例
  • 深入了解MySQL中的innodb_lock_wait_timeout
  • mybatis语法进阶1
  • MySQL数字相关数据处理函数
  • 6-7 宠物领养开发及相关代码
  • Flowable(一个开源的工作流和业务流程管理引擎)中与事件相关的一些核心概念
  • 老年生活照护实训室:让养老护理更个性化
  • vue解决页面放大图片模糊的问题
  • protobuf repeated C++怎样赋值?
  • CMD,Powershell,Xshell的区别与联系
  • docker python 配置
  • ECMAScript入门(七)--Module语法
  • exports和module.exports
  • js操作时间(持续更新)
  • macOS 中 shell 创建文件夹及文件并 VS Code 打开
  • node 版本过低
  • PermissionScope Swift4 兼容问题
  • Spring Boot快速入门(一):Hello Spring Boot
  • 关于Android中设置闹钟的相对比较完善的解决方案
  • 记录一下第一次使用npm
  • 技术发展面试
  • 开放才能进步!Angular和Wijmo一起走过的日子
  • 目录与文件属性:编写ls
  • 前端性能优化——回流与重绘
  • 如何正确配置 Ubuntu 14.04 服务器?
  • 网络应用优化——时延与带宽
  • 我感觉这是史上最牛的防sql注入方法类
  • 怎样选择前端框架
  • 终端用户监控:真实用户监控还是模拟监控?
  • 最近的计划
  • 曜石科技宣布获得千万级天使轮投资,全方面布局电竞产业链 ...
  • #define与typedef区别
  • $(this) 和 this 关键字在 jQuery 中有何不同?
  • (04)odoo视图操作
  • (php伪随机数生成)[GWCTF 2019]枯燥的抽奖
  • (每日持续更新)jdk api之StringBufferInputStream基础、应用、实战
  • (免费分享)基于springboot,vue疗养中心管理系统
  • (十三)Flask之特殊装饰器详解
  • (限时免费)震惊!流落人间的haproxy宝典被找到了!一切玄妙尽在此处!
  • *Django中的Ajax 纯js的书写样式1
  • .Mobi域名介绍
  • .net core开源商城系统源码,支持可视化布局小程序
  • .Net接口调试与案例
  • [ vulhub漏洞复现篇 ] Apache APISIX 默认密钥漏洞 CVE-2020-13945
  • [15] 使用Opencv_CUDA 模块实现基本计算机视觉程序
  • [bzoj1901]: Zju2112 Dynamic Rankings
  • [C++][opencv]基于opencv实现photoshop算法图像剪切
  • [CAN] 创建解析CAN报文DBC文件教程
  • [ES-5.6.12] x-pack ssl
  • [Everyday Mathematics]20150130