随笔分类 - Hive & SQL
摘要:hive 从array类型的字段中,筛选出表包含某元素的记录: 注意有特殊符号时的转义; SELECT * FROM table_m WHERE dt = sysdate( - 2) AND ARRAY_CONTAINS(array_name, "aaa\\;5") limit 100;
阅读全文
摘要:当insert数据到表时抛出异常: Diagnostic Messages for this Task: Error: java.lang.RuntimeException: java.lang.ClassCastException: org.apache.hadoop.io.Text cannot
阅读全文
摘要:1. 外部表(external table) 有external修饰,表数据保存在HDFS上,该位置由用户指定。删除表时,只会删除表的元数据,所以外部表不是有Hive完全管理的 2. 内部表(internal table/managed table) 没有external修饰,表数据保存在Hive默
阅读全文
摘要:具体现象 内存CPU比例失调 一个Spark任务消耗 120(executor)*4G = 480G内存仅仅使用120个 core.几个SprakSQL任务就将整个系统资源吃光. 设置超过40个executor,但未指定分区数,导致多数executor空闲. 原因分析 SparkSQL配置时Core
阅读全文
摘要:使用hadoop job -list来列出当前hadoop正在执行的jobs 然后使用hadoop job -kill job_1546932571227_0082来杀死该job任务, 原文链接:https://blog.csdn.net/zhy_2117/java/article/details/
阅读全文
摘要:hive中如何控制mapper的数量 参考文档:https://www.cnblogs.com/1130136248wlxk/articles/5352154.html 1. 决定map的数据的决定因素有: input的文件总个数,input的文件大小,集群设置的文件块大小(目前为128M, 可在h
阅读全文
摘要:spark UI 界面:http://blog.csdn.net/u013013024/article/details/73498508几个概念的解释:http://blog.csdn.net/jiangwlee/article/details/50774561 数据倾斜处理: https://bl
阅读全文
摘要:使用regexp_replace格式: regexp_replace(address,"正则表达式","替代字符") (1)匹配所有字符: select regexp_replace(address, '.*', '***') from table; (2)匹配指定字符: select regexp
阅读全文
摘要:Navicat 下载地址: https://blog.csdn.net/u013600314/article/details/80605981 Navicat 连接Mysql 的方法:https://jingyan.baidu.com/article/656db9182612cbe380249c78
阅读全文
摘要:一、修改hive表注释 二、修改hive表字段注释
阅读全文
摘要:1.NVL函数 NVL函数的格式如下:NVL(expr1,expr2)含义是:如果oracle第一个参数为空那么显示第二个参数的值,如果第一个参数的值不为空,则显示第一个参数本来的值。 NVL(expr1, expr2): 1、空值转换函数; 2、类似于mysql-nullif(expr1, exp
阅读全文
摘要:1.日期格式转换(将yyyymmdd转换为yyyy-mm-dd) 2..hive去掉字段中除字母和数字外的其它字符 3.hive解析json字段 content字段存储json {"score":"100","name":"zhou","class":''math"},若要对json进行解析,则可用
阅读全文
摘要:1、instr函数 instr函数是一个字符串处理函数,它在Oracle/PLSQL中是返回子字符串在源字符串中的位置,如果在源串中没有找到子串,则返回0。 instr函数定义如下: 例如: 2、like关键字 like关键字也可称为通配符,在SQL中用于模糊查询。可以使用“%”和“_”通配符,其中
阅读全文
摘要:1. count(1) and count(*) 当表的数据量大些时,对表作分析之后,使用count(1)还要比使用count(*)用时多了! 从执行计划来看,count(1)和count(*)的效果是一样的。 但是在表做过分析之后,count(1)会比count(*)的用时少些(1w以内数据量),
阅读全文
摘要:1、 set hive.auto.convert.join = true; mapJoin的主要意思就是,当链接的两个表是一个比较小的表和一个特别大的表的时候,我们把比较小的table直接放到内存中去,然后再对比较大的表格进行map操作。join就发生在map操作的时候,每当扫描一个大的table中
阅读全文
摘要:Spark1.4发布,支持了窗口分析函数(window functions)。在离线平台中,90%以上的离线分析任务都是使用Hive实现,其中必然会使用很多窗口分析函数,如果SparkSQL支持窗口分析函数,那么对于后面Hive向SparkSQL中的迁移的工作量会大大降低,使用方式如下: 1、初始化
阅读全文
摘要:Hive 分区介绍: hive中简单介绍分区表(partition table),含动态分区(dynamic partition)与静态分区(static partition) hive中创建分区表没有什么复杂的分区类型(范围分区、列表分区、hash分区、混合分区等)。 分区列也不是表中的一个实际的
阅读全文
摘要:COALESCE是一个函数, (expression_1, expression_2, ...,expression_n)依次参考各参数表达式,遇到非null值即停止并返回该值。如果所有的表达式都是空值,最终将返回一个空值。 比如我们要登记用户的电话,数据库中包含他的person_tel,home_
阅读全文
摘要:一、行转列的使用 1、问题 hive如何将 a b 1a b 2a b 3c d 4c d 5c d 6 变为: a b 1,2,3c d 4,5,6 2、数据 test.txt a b 1 a b 2 a b 3 c d 4 c d 5 c d 6 3、答案 1.建表 2.处理 二、列转行 1、问
阅读全文
摘要:使用hive储存数据时,需要对做分区,如果从kafka接收数据,将每天的数据保存一个分区(按天分区),保存分区时需要根据某个字段做动态分区,而不是傻傻的将数据写到某一个临时目录最后倒入到某一个分区,这是静态分区。 Hive动态分区步骤如下: 1、建立某一个源表模拟数据源并插入一些数据 2、建立一张分
阅读全文