hive学习笔记之一:基本数据类型
欢迎访问我的GitHub
内容:所有原创文章分类和汇总 , 及配套源码 , 涉及Java、Docker、Kubernetes、DevOPS等;
关于hive学习笔记系列
- 《hive学习笔记》系列保持了作者一贯的风格 , 即通过实战学习和了解;
- 作为一个构建在Hadoop上的数据仓库框架 , hive被用来进行数据提取、转化、加载 , 这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制 , hive数据仓库工具能将结构化的数据文件映射为一张数据库表 , 并提供SQL查询功能 , 能将SQL语句转变成MapReduce任务来执行 。 (来自:《Hadoop应用开发实战详解(修订版)》)
- 架构如下 , 可见最终还是在执行MapReduce:
文章插图
环境信息本文对应的环境信息如下:
- CentOS Linux release 7.5.1804
- JDK:1.8.0_191
- hadoop:2.7.7
- hive:1.2.2
- 需要先部署hadoop环境 , 请参考《Linux部署hadoop2.7.7集群》
- hadoop部署成功后 , 安装和体验hive其参考《安装和体验hive》
- 基本数据类型:包括数值型、布尔型、字符串类型和时间戳类型;
- 复杂数据类型:数组、映射、结构;
- 通过思维导图来分类和理解:
文章插图
- 下面通过列表说明所有的基本数据类型:
文章插图
关于三种字符串类型
- STRING , 变长 , 无需最大长度声明 , 理论上能存储2GB字符;
- VARCHAR , 变长 , 需要声明最大长度(1到65535之间) , 例如VARCHAR(100);
- CHAR , 定长 , 如CHAR(100);
- 启动hive , 进入交互模式 , 执行以下语句建表 , 字段类型是常用的几种:
create table t1(int_fieldINT,string_field STRING,boolean_field BOOLEAN,date_field DATE,timestamp_field TIMESTAMP)ROW FORMAT DELIMITED FIELDS TERMINATED BY'\t'STORED AS TEXTFILE;
- 用insert语句新增一条记录:
insert into t1 values (101, 'a101', true, '2020-01-01', '2020-03-01 00:00:00');
- 使用函数 , 在新增的记录的时候 , 将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;
- 看一下新增的两条记录:
hive> select * from t1;OK101 a101 true 2020-01-01 2020-03-01 00:00:00103 a103 true 2020-01-01 2020-10-27 20:42:35.729Time taken: 0.062 seconds, Fetched: 2 row(s)
- 查看当前时间:
select unix_timestamp();
响应:hive> select unix_timestamp();OK1603802631Time taken: 0.028 seconds, Fetched: 1 row(s)
- 将DATE字段转为TIMESTAMP:
select cast(date_field as timestamp) from t1;
响应:hive> select cast(date_field as timestamp) from t1;OK2020-01-01 00:00:002020-01-01 00:00:00Time taken: 0.051 seconds, Fetched: 2 row(s)
- 将TIMESTAMP字段转为DATE:
select to_date(timestamp_field) from t1;
响应:hive> select to_date(timestamp_field) from t1;OK2020-03-012020-10-27Time taken: 0.063 seconds, Fetched: 2 row(s)
- 将TIMESTAMP字段转为BIGINT:
select to_date(timestamp_field) from t1;
【hive学习笔记之一:基本数据类型】响应:hive> select to_date(timestamp_field) from t1;OK2020-03-012020-10-27Time taken: 0.063 seconds, Fetched: 2 row(s)
至此 , hive的基本数据类型已经了解 , 接下来的章节咱们一起学习了解复杂数据类型;参考文档
欢迎关注我的公众号:程序员欣宸
文章插图
- 截图|笔记本截图快捷键是什么
- 电池容量|Windows 自带功能查看笔记本电脑电池使用情况,你的容量还好吗?
- 每日|【每日idea 分享】12月1日:带朋友一起网上购物;线上笔记本应用程序
- 用于|用于半监督学习的图随机神经网络
- 复习|期末整理复习笔记?MHMO魅蒙iPad专用笔助提高效率
- 今日|“舜网”学习强国号今日上线 济南报业全媒体矩阵再添新成员
- SK|SK电讯推出自研AI芯片SAPEON X220 深度学习计算速度是常用GPU 1.5倍
- 效果|这个让你相见恨晚的技巧,能让PPT排版更加有设计感,推荐学习
- 学习C语言的软件,就突然被我绿了?
- 学习python第二弹