专栏首页巡山猫说数据「基础」SQL-Hive简介及常用数据类型

「基础」SQL-Hive简介及常用数据类型

「基础」这个专题,主要介绍数据分析师的基础技能,我们先从最基础的提数讲起。

前言-Hive简介

Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表。Hive 定义了简单的类 SQL 查询语言,称为 HQL,它允许熟悉 SQL 的用户查询数据。

Hive的最佳使用场合是大数据集的批处理作业。在互联网公司,每个用户在其app、web网页上的所有行为都会上报到日志中,即便是一个日活跃用户数只有10万的APP,每日产生的日志行数也是千万级的,而类似微信这种日活就有10亿用户的APP,其每日产生的数据量更是天文数字。如果想要对这些数据进行分析、挖掘,现阶段互联网行业内使用最广泛的就是Hive。

作为一个数据分析师,操作Hive提取数据已经成为了一个必备技能,但对数据分析师来说,查询才是做的最多的操作,毕竟使用工具是为了完成分析。所以我们总结的知识点主要以数据分析从零基础入门操作到实战为主。

Hive-常用数据类型

在了解Hive如何查询数据之前,我们需要了解下Hive的常用数据类型,这个是基础中的基础。建表,函数操作,UDF函数,都要考虑到Hive的数据类型。

1、常用的数据格式

另Hive的基本数据类型还包括一个BINARY,但工作中基本接触不到,故不在此介绍,感兴趣的同学可自行百度。

2、常用的集合数据类型

另Hive有集合数据类型还包括STRUCT,MAP,但工作中基本接触不到,故不在此介绍,感兴趣的同学可自行百度。

3、Hive与其他SQL数据格式的区别

在其他SQL方言中,通常会提供限制最大长度的“字符数组”(也就是很多字符串)类型,但Hive中不支持这种数据类型。

关系型数据库提供这个功能是出于性能优化的考虑。因为定长的记录更容易进行建立索引,数据扫描,等等。

在Hive所处的“宽松”的世界里,不一定拥有数据文件但必须能够支持使用不同的文件格式,Hive根据不同字段间的分隔符来对其进行判断。

4、TIMESTAMP

新增数据类型 TIMESTAMP的值可以是整数,也就是距离Unix新纪元时间(1970年1月1日,午夜12点)的秒数;也可以是浮点数,即距离Unix新纪元时间的秒数,精确到纳秒(小数点后保留9位数);还可以是字符串,即JDBC所约定的时间字符串格式,格式为YYYY-MM-DD hh:mm:ss.fffff。

Hive-数据类型转换

1、显示转换

使用cast函数可以对指定的值进行数据类型转换。

cast(value AS TYPE)

value是需要被转换的数据, AS是固定关键字,type是需要转换的类型。

常用转换一般是数字类型和字符串之间进行互转,如:

cast(2019 AS STRING)

cast('2019' AS INT)

当然cast的转换功能也不是万能的,必须是“存储的类型值”符合转换条件才能进行转换,否则会返回NULL,比如“XYZ”转换成FLOAT,很明显XYZ不是数值,所以转换失败,结果返回NULL值。

此外,如果使用cast将值范围较大的数据类型转换成值范围较小的数据类型,cast函数会直接截取,损失数据精度甚至得到错误结果,需要慎用。

2、隐式转换

当有以下不同数据类型的列互相运算时,Hive会自动把值范围较小的数据类型转为值范围较大的数据类型,以保证两列数据格式相同从而可以运算。

大小顺序如下:

TINYINT < SMALINT < INT < BIGINT< FLOAT < DOUBLE

以上,就是本期内容,希望对你有帮助~

本文分享自微信公众号 - 巡山猫说数据(sven994777),作者:巡山猫

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2021-04-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 大数据快速入门(07):数据仓库神器 Hive

    上次,小K 介绍了 MapReduce 框架,大大简化了大数据编程的难度,即使是没有学过分布式技术的开发人员,也能用 MapReduce 开发出大数据分布式计算...

    kk大数据
  • 「基础」SQL-Hive中常用的数据库操作

    如果想删除数据库,要么先将数据库中的表全部删除,此时可以使用CASCADE关键字,使用该关键字后,Hive会自己将数据库下的表全部删除。慎用慎用!

    巡山猫说数据
  • [六]基础数据类型之浮点数简介

    Java中,基本数据float 和double的包装类Float和Double都是浮点类型

    noteless
  • [十]基础数据类型之Unicode编码简介

    (American Standard Code for Information Interchange,美国信息交换标准代码)

    noteless
  • 大数据学习过程中需要看些什么书?学习路线

    很多朋友对大数据行业心向往之,却苦于不知道该如何下手。作为一个零基础大数据入门学习者该看哪些书?今天给大家推荐一位知乎网友挖矿老司机的指导贴,作为参考。

    用户2292346
  • Python中的基础数据类型(String,Number)及其常用用法简析

    哈喽,各位小伙伴们,相信大家和我一样,在开始接触Python这门语言的时候,会遇到很多困难。这边小编简单为大家总结下Python的基本数据类型,方便查看...

    Python进阶者
  • 大数据技术学习路线

    加米谷大数据
  • Hadoop基础教程-第11章 Hive:SQL on Hadoop(11.1 Hive 介绍)(草稿)

    第11章 Hive:SQL on Hadoop 11.1 Hive 介绍 11.1.1 为什么需要Hive? Hadoop的出现,正如当年Java语言的出现,得...

    程裕强
  • SQL Server常见数据类型介绍

    Esofar
  • HBase操作组件:Hive、Phoenix、Lealone

    hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务...

    王知无-import_bigdata
  • 2019精炼的大数据技术学习路线

    近年来大数据BigData、人工智能AI、物联网Iot等行业发展迅猛,很多人都想要从事大数据技术开发工作,但是,请问要怎么做,路线是什么?从哪里开始学?学哪些?...

    用户2292346
  • 1.1.2 Spark生态

    1.1.2 Spark生态 Spark大数据计算平台包含许多子模块,构成了整个Spark的生态系统,其中Spark为核心。 伯克利将整个Spark的生态系统称...

    Albert陈凯
  • 【学习】开源大数据查询分析引擎现状

    文|叶蓬 【按:此文是与我的《基于大数据分析的安全管理平台技术研究及应用》同期发表在内刊上的我的同事们的作品,转载于此。这些基础性的研究和测试对比分析,对于我们...

    小莹莹
  • Python中的基础数据类型(Set集合)及其常用用法简析

    前面的文章小编已经介绍了Number,String,List,Tuple,Dict五种基本的数据类型,今天小编来简单说一下最后一种数据类型,set集合。

    Python进阶者
  • Python中的基础数据类型(List,Tuple,Dict)及其常用用法简析

    上次咱们简单的认识了String,Number,这次简单聊聊剩下的几个数据类型(列表,元组,字典)...

    Python进阶者
  • Hive 系列 之 开篇

    细细品味这首诗,忽然发觉以前学这首诗的意义在于背诵和考试,如今细细品味这首诗,不禁感叹意境真好。天色微凉,牵着手,一起爬山那高高的山头看那天边的牵牛织女星,多么...

    kk大数据
  • 值得拥有 不容错过的Hive精华汇总

    Hive作为Hadoop家族的重要一员,具有学习成本低,开发者可通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用。在攒...

    Albert陈凯
  • 大数据学习:Spark SQL入门简介

    在大数据学习当中,Spark框架所占的比重,还是非常高的。Hadoop和Spark基本上是大数据开发学习当中的重点内容,而Spark随着市场地位的不断提升,在学...

    成都加米谷大数据
  • 【云+社区年度征文】大数据常用技术梳理

    从上图我们可以看到, 从事大数据方向可以有很多具体方向的职位. 相较于Java开发, 选择面更加广泛

    时间静止不是简史

扫码关注云+社区

领取腾讯云代金券