hive map格式转换为字符串_Hive与MySQL的不同之处之类型转换cast和covert函数

Hive:

cast(xxx AS 类型)

如:

cast(tm AS bigint)

附上Hive基本数据类型:

数据类型

所占字节

开始支持版本

TINYINT

1byte,-128 ~ 127

SMALLINT

2byte,-32,768 ~ 32,767

INT

4byte,-2,147,483,648 ~ 2,147,483,647

BIGINT

8byte,-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807

BOOLEAN

FLOAT

4byte单精度

DOUBLE

8byte双精度

STRING

BINARY

从Hive0.8.0开始支持

TIMESTAMP

从Hive0.8.0开始支持

DECIMAL

从Hive0.11.0开始支持

CHAR

从Hive0.13.0开始支持

VARCHAR

从Hive0.12.0开始支持

DATE

从Hive0.12.0开始支持

复杂类型包括ARRAY,MAP,STRUCT,UNION,这些复杂类型是由基础类型组成的。

ARRAY

ARRAY类型是由一系列相同数据类型的元素组成,这些元素可以通过下标来访问。比如有一个ARRAY类型的变量fruits,它是由[‘apple’,’orange’,’mango’]组成,那么我们可以通过fruits[1]来访问元素orange,因为ARRAY类型的下标是从0开始的;

MAP:

MAP包含key->value键值对,可以通过key来访问元素。比如”userlist”是一个map类型,其中username是key,password是value;那么我们可以通过userlist[‘username’]来得到这个用户对应的password;

STRUCT:

STRUCT可以包含不同数据类型的元素。这些元素可以通过”点语法”的方式来得到所需要的元素,比如user是一个STRUCT类型,那么可以通过user.address得到这个用户的地址。

UNION:

UNION TYPE,他是从Hive 0.7.0开始支持的。

创建一个包含复制类型的表格可以如下

CREATE TABLE employees (

name STRING,

salary FLOAT,

subordinates ARRAY,

deductions MAP,

address STRUCT

) PARTITIONED BY (country STRING, state STRING);

MySQL:

cast(xxx AS 类型)或convert(xxx,类型),类型必须用下列的类型:

二进制,同带binary前缀的效果 : BINARY

字符型,可带参数 : CHAR()

日期 : DATE

时间: TIME

日期时间型 : DATETIME

浮点数 : DECIMAL

整数 : SIGNED

无符号整数 : UNSIGNED

如:cast(tm AS signed)

或convert(tm,signed)

警告:

MySQL类型转换不能用int之类的,否则会报错:

cast(tm AS int)

或convert(tm,int)

附上MySQL基本数据类型:

|** 类型 **| **大小 **| ** 描述 **|

|————| ———-| ———- |:———–:|

|char[length] | length字节 | 定长字段,长度为0-255个字节|

|varchar[length] | string长度+1字节 | 变长字段,在mysql5.03以前,长度为0-255个字节,在5.0.3以后,最大长度为65535字节。一个utf8字符占3个字节、一个gbk字符占两个字节。|

|tinytext | string长度+1字节 | 字符串,长度为0-255个字节|

|text | string长度+2字节 | 字符串,最大长度为0-65535个字节|

|mediumtext | string长度+3字节 | 字符串,最大长度为16777215个字节|

|longtext | string长度+4字节 | 字符串,最大长度为4194967295个字节|

|tinyint[length] | 1字节 | 范围:-128127或0255|

|smallint[length] | 2字节 | |

|mediumint[length] | 3字节 | |

|int[length] | 4字节 | |

|bigint[length] | 8字节 | |

|float | 4字节 | |

|double[length,decimals] | 8字节 | 运行固定的小数点|

|decimal[length,decimals] | length+1字节或length+2字节 | |

|date | 3字节 | 采用YYYY-MM-DD格式|

|datetime | 8字节 | 采用YYYY-MM-DD HH:mm:SS格式|

|timestamp | 4字节 | 采用YYYYMMDDHHmmSS格式|

|time | 3字节 | 采用HH:MM:SS格式|

|enum | 1或2字节 | 枚举类型|

|set | 1、2、3、4或8字节 | 与enum一样,只不过每一列可以具有多个可能的值|

|blob | | 是text的一个变体。允许存储二进制文件,还可用于某些加密数据。|

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/543612.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode - 35. Search Insert Position

35. Search Insert Position Problems Link ---------------------------------------------------------------------------- Mean: 给定一个有序数组和一个数k,求k在这个数组中插入的下标. analyse: 二分查找. Time complexity: O(N) view code /*** -----…

的garch预测_随机森林预测

当涉及到预测数据(时间序列或其他类型的序列)时,人们会关注基本回归、ARIMA、ARMA、GARCH,甚至Prophet,但不排除使用随机森林来预测数据。随机森林通常被认为是一种分类技术,但回归问题绝对是随机森林可以处理的。在本文中&#x…

统计abacbacdadbc中的每个字母出现的次数,输出格式是:a(4)b(3)c(3)d(2)

2019独角兽企业重金招聘Python工程师标准>>> import java.util.Iterator; import java.util.Map; import java.util.Set; import java.util.TreeMap; /** 统计abacbacdadbc中的每个字母出现的次数,输出格式是:a(4)b(3)c(3)d(2)* * 选中TreeMa…

python isupper需要调包吗_密码强度等级

1# 思路&#xff1a;将统计情况放主函数中一起写&#xff0c;避免分开写时多次遍历密码字符串。while True:try:password input().strip()score 0 # 初始化得分为0# 长度得分if len(password) < 4:score 5elif 5 < len(password) < 7:score 10else:score 25# 字…

入侵分析十诫

这些年来&#xff0c;笔者一直积极参与入侵检测分析师的培训和发展工作&#xff0c;同时还担任了 SANS 信息安全课程《深入入侵检测》&#xff08;编号503&#xff09;的授课导师。笔者发现自己一直在不断改变对有效入侵检测的哲学认识。然而&#xff0c;不论该哲学如何演化&am…

python 寻找数组的中心索引_Leetcode724查找数组Python的中心索引,LeetCode724,寻找,python...

寻找数组的中心索引这一次打卡不知道又摸了多久的鱼&#xff0c;周五没做题&#xff0c;周日补上。题目给定一个整数类型的数组 nums&#xff0c;请编写一个能够返回数组“中心索引”的方法。我们是这样定义数组中心索引的&#xff1a;数组中心索引的左侧所有元素相加的和等于右…

算法--动态规划

动态规划需要弄清楚两个问题&#xff0c;首先子问题的最优解&#xff0c;其次重叠子问题。首先来看一个问题吧&#xff1a; 有3种硬币&#xff0c;对应的面值是1、2、4&#xff0c;如果要组成11元&#xff0c;最少需要几枚硬币呢&#xff1f; 思路&#xff1a;考虑组成0元&…

[译]机器人操作系统简介:终极机器人应用框架(上)

2019独角兽企业重金招聘Python工程师标准>>> [译]机器人操作系统简介&#xff1a;终极机器人应用框架 /*** 原文出处&#xff1a;https://www.toptal.com/robotics/introduction-to-robot-operating-system* author dogstar.huang <chanzonghuanggmail.com> 2…

底量超顶量超级大黑马指标源码_一旦出现底量超顶量形态,是超级大黑马诞生!...

一、底量超顶量当股价形成头部时&#xff0c;成交量必须放大&#xff0c;这种放量虽然不能和上市前三天相比&#xff0c;但也必须是相对天量&#xff0c;随即出现天价。但是&#xff0c;有些个股在形成头部之时&#xff0c;成交量只是象征性地放大&#xff0c;换手率低&#xf…

AIKit v4.11.0 – WordPress AI 自动编写器、聊天机器人、写作助手和内容重定向器 / OpenAI GPT 插件

AIKit v4.11.0&#xff1a;WordPress的AI革命 一、引言 AIKit v4.11.0是一款为WordPress用户精心设计的强大插件&#xff0c;该插件集成了OpenAI的GPT-3技术&#xff0c;为用户提供了前所未有的AI写作和聊天机器人功能。此版本的推出&#xff0c;将WordPress的功能扩展到了全新…

精华阅读第6期|程序猿的世界,你不懂!

上周&#xff0c;微信圈被一篇文章刷屏了&#xff01;那就是西乔出品的《你为什么总招不到程序员&#xff1f;》&#xff0c;西乔的漫画之所以这么火&#xff0c;很重要的原因就是她懂程序猿的生活&#xff0c;同时作品也能够引起大家的共鸣。其实&#xff0c;移动开发精英俱乐…

ai建立使用图案_ai自定义图案的方法详解步骤图

1.ai中如何制作剪纸纹理图案确定以后&#xff0c;大概可以看到这样的操作界面&#xff0c;界面上多了一个”图案选项“面板&#xff0c;在软件界面中心&#xff0c;可以看到的图案是5排5列的图形&#xff0c;也就是”图案选项“下面显示的份数”5X5“&#xff0c;也可以自己另外…

nginx(五)rewrite

**ngx_http_rewrite_module模块配置**将请求的uri基于正则表达式进行重写&#xff1b;例&#xff1a;http-->httpsdomain1.tld-->domain2.tlduri1-->uri2指令&#xff1a;rewrite regex replacement [flag];regex:正则表达式&#xff0c;用于匹配用户请求的uri&#x…

恒生估值系统_恒生指数和恒生国企指数投资价值分析

恒生指数和恒生国企指数都是港股的大蓝筹指数。恒生指数是从香港股票市场挑选出50只优质蓝筹股票组成的指数。恒生国企指数又称为H股指数。H股指注册地在内地&#xff0c;但是上市地在香港的外资股票。恒生国企指数的成分股数目是没有限制的&#xff0c;但是必须为市值最大&…

java程序练习

数组求和作业 开发环境&#xff1a;java 工具&#xff1a;eclipse 两种数据类型excel和csv 在同学建议下&#xff0c;我选择用csv文件打开&#xff0c;这就引来了第一个问题&#xff0c;在java中如何调用csv文件。以下是我百度的结果 http://www.educity.cn/java/627496.html &…

mysql数据库增删改查关键字_MySQL数据库(增删改查语句)

MySQL数据库(增删改查语句)一.登录数据库&#xff1a;----> mysql -uroot -proot;(对应用户名和密码)二.SQL语句&#xff1a; 数据定义语言DDL 用来定义数据库、表、列&#xff0c;关键字为 create、alter、drop 数据操作语言DML 用来进行数据库更新的操作&#xf…

ECC 算法

一、简介 1&#xff09;椭圆曲线密码学的初级读本 http://8btc.com/thread-1240-1-1.html 2&#xff09;ECC加密算法入门介绍 http://www.pediy.com/kssd/pediy06/pediy6014.htm &#xff13;&#xff09;ECC算法原理的认识 http://blog.csdn.net/sszgg2006/article/details/41…

hwd是长宽高吗_五菱皮卡要来了,五种形态任你选,颜值是你期待的吗?

近日&#xff0c;网友上传了五菱皮卡的渲染图&#xff0c;引起了大家对五菱皮卡的热烈讨论。在刚过去的2020年&#xff0c;五菱凭借性价比超高的宏光MINI EV成为了新能源领域的领头羊&#xff0c;而后推出的‘大四座’家用车五菱凯捷也取得了五万台的预定量&#xff0c;五菱一时…

Java多线程:用三个线程控制循环输出10次ABC

题目&#xff1a;有A,B,C三个线程, A线程输出A, B线程输出B, C线程输出C&#xff0c;要求, 同时启动三个线程, 按顺序输出ABC, 循环10次。 解题思路&#xff1a;要按顺序输出ABC, 循环10次&#xff0c;就要控制三个线程同步工作&#xff0c;也就是说要让三个线程轮流输出&#…

mysql if语句后面执行两个语句_MySQL的if,case语句使用总结

Mysql的if既可以作为表达式用&#xff0c;也可在存储过程中作为流程控制语句使用&#xff0c;如下是做为表达式使用&#xff1a;IF表达式IF(expr1,expr2,expr3)如果 expr1 是TRUE (expr1 <> 0 and expr1 <> NULL)&#xff0c;则 IF()的返回值为expr2; 否则返回值则…