hive学习笔记之一:基本数据类型

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门,即可获取!

| BIGINT | 8字节有符号整数,

从-9223372036854775808到9223372036854775807 | 1L |

| FLOAT | 4字节单精度浮点数 | 1.0 |

| DOUBLE | 8字节(64位)双精度浮点数 | 1.0 |

| DECIMAL | 任意精度有符号小数 | 1.0 |

| STRING | 无上限可变长度字符串 | ‘a’, “a” |

| VARCHAR | 可变长度字符串 | ‘a’, “a” |

| CHAR | 固定长度字符串 | ‘a’, “a” |

| BINARY | 字节数组 | - |

| TIMESTAMP | 精度到纳秒的时间戳 | ‘2020-03-01 00:00:00’ |

| DATE | 日期 | ‘2020-01-01’ |

关于三种字符串类型

  1. STRING,变长,无需最大长度声明,理论上能存储2GB字符;

  2. VARCHAR,变长,需要声明最大长度(1到65535之间),例如VARCHAR(100);

  3. CHAR,定长,如CHAR(100);

常用类型综合实战

  1. 启动hive,进入交互模式,执行以下语句建表,字段类型是常用的几种:

create table t1(

int_field INT,

string_field STRING,

boolean_field BOOLEAN,

date_field DATE,

timestamp_field TIMESTAMP

)

ROW FORMAT DELIMITED FIELDS TERMINATED BY ‘\t’

STORED AS TEXTFILE;

  1. 用insert语句新增一条记录:

insert into t1

values

(101, ‘a101’, true, ‘2020-01-01’, ‘2020-03-01 00:00:00’);

  1. 使用函数,在新增的记录的时候,将timestamp_field字段设置为当前时间,注意和前面的insert语句比较一下,使用函数时必须用到select XXX from XXX limit 1这样的语法:

insert into t1

select

103, ‘a103’, true, ‘2020-01-01’, current_timestamp()

from t1 limit 1;

  1. 看一下新增的两条记录:

hive> select * from t1;

OK

101 a101 true 2020-01-01 2020-03-01 00:00:00

103 a103 true 2020-01-01 2020-10-27 20:42:35.729

Time taken: 0.062 seconds, Fetched: 2 row(s)

  1. 查看当前时间:

select unix_timestamp();

响应:

hive> select unix_timestamp();

OK

1603802631

Time taken: 0.028 seconds, Fetched: 1 row(s)

  1. 将DATE字段转为TIMESTAMP:

select cast(date_field as timestamp) from t1;

响应:

hive> select cast(date_field as timestamp) from t1;

OK

2020-01-01 00:00:00

2020-01-01 00:00:00

Time taken: 0.051 seconds, Fetched: 2 row(s)

  1. 将TIMESTAMP字段转为DATE:

select to_date(timestamp_field) from t1;

响应:

hive> select to_date(timestamp_field) from t1;

OK

2020-03-01

2020-10-27

Time taken: 0.063 seconds, Fetched: 2 row(s)

  1. 将TIMESTAMP字段转为BIGINT:

select to_date(timestamp_field) from t1;

响应:

hive> select to_date(timestamp_field) from t1;

OK

2020-03-01

2020-10-27

Time taken: 0.063 seconds, Fetched: 2 row(s)

至此,hive的基本数据类型已经了解,接下来的章节咱们一起学习了解复杂数据类型;

最后

如果觉得本文对你有帮助的话,不妨给我点个赞,关注一下吧!

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门,即可获取!

至此,hive的基本数据类型已经了解,接下来的章节咱们一起学习了解复杂数据类型;

最后

如果觉得本文对你有帮助的话,不妨给我点个赞,关注一下吧!

[外链图片转存中…(img-hr4ST5Sb-1714427125293)]

[外链图片转存中…(img-BIsM1yBA-1714427125294)]

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门,即可获取!

  • 13
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值