
sql
文章平均质量分 72
xboysen
这个作者很懒,什么都没留下…
展开
-
hive字段类型修改问题总结
因将线上表的某个字段的类型进行了更改,进而引发了下面两个问题:字段的声明类型和parquet存储时的类型不一致table schema和partition schema不一致致使数据表直接无法使用。具体出错的问题从执行日志中可以清楚的看到。问题1问题:将字段类型改成int类型,但是报错信息提示parquet文件对应字段类型是int64,设置的字段类型与实际存储的类型不一致解决:将字段类型改为bigint使与parquet存储时一致,数据表可以正常使用。问题2问题:由于以前的分区已经运行原创 2021-05-20 20:32:02 · 2639 阅读 · 0 评论 -
hive字符串相关操作整理
内置操作||可以实现字符串的拼接,和concat作用一样内置函数下面汇总一些比较常用的函数返回类型签名描述stringconcat(string|binary A, string|binary B…)将传入的字符串或者字节依次拼接,接受任意个数的参数stringconcat_ws(string SEP, string A, string B…)使用指定分隔符SEP将字符串拼接stringconcat_ws(string SEP, array< str翻译 2021-04-01 16:53:06 · 376 阅读 · 0 评论 -
hive集合数据类型汇总
文章目录基本概念arraymapstruct使用创建常用函数(主要汇总了和array相关的)hive支持的集合类型有三种:structmaparray基本概念array含义:array数组是一组具有相同类型和名称的变量集合访问:内部每个元素可以通过下标来访问,下标从0开始。如值为['john',' boysen']的数组,第二个元素通过数组名[1]访问注意:如果元素为字符类型时,mr和presto的显示不一样。例如['john','boysen'],mr的结果中显示为["john","原创 2021-04-01 11:19:02 · 4268 阅读 · 0 评论 -
字符串的比较和运算
字符串大小比较字符串大小比较的时候,会从左向右将两个字符串第一个不相等的两个字符的ascii码的比较结果作为最终结果。也就是说,对于两个字符串,从左到右依次取对应位置元素,比较字符元素的ASSIC编码,如果当前位置可以分出大小,就直接将当前的比较结果作为结果输出,不再比较后面的字符元素;否则继续依次比较后面单个字符元素的大小。字符串运算在mysql当中,字符串类型间进行加减乘除运算的时候,会截取字符串以数字开头的那一部分数字进行运算,如果字符串前面没有数字,那么对应字符串的截取的数值为0,那么进行加原创 2020-08-17 21:46:20 · 999 阅读 · 0 评论 -
where和having
SQL中常用的聚合函数有min/max/count/avg/sum,通常和group by连用。在涉及到条件筛选时,where子句中不能有聚合函数,要想使用条件应该使用having。这与语句的执行顺序有关。WHERE子句在聚合前先筛选记录.也就是说作用在GROUP BY 子句和HAVING子句前;而 HAVING子句在聚合后对组记录进行筛选。因此执行where时不存在对应的聚合函数的值,因此where子句中不能有聚合函数。...原创 2020-08-17 21:29:01 · 160 阅读 · 0 评论 -
distinct 使用
MySQL distinct 使用1.基本用法distinct用于筛选唯一值,可以作用于单个列或者多个列。作用于单个列时有以下几个注意点:distinct必须放在所有指定字段名之前,不允许select <name1>, distinct <name2> from ...distinct作用于多个列,结果按照指定的多个列的值得组合进行筛选2.和count一起用可以使用select count(distinct name) from ....因为count是原创 2020-08-16 14:58:00 · 17984 阅读 · 2 评论