1.case的用法 )格式1 case col when value then '' when value then '' else '' end )格式2 case when col='value' then '' when col='value' then '' else '' end )举例 2.cast 作用:转换 )格式 cast(col as type) )举例 create table catstest as select empno,ename,cast(sal as strin…
1.case的用法 )格式1 case col when value then '' when value then '' else '' end )格式2 case when col='value' then '' when col='value' then '' else '' end )举例 2.cast 作用:转换 )格式 cast(col as type) )举例 create table catstest as select empno,ename,cast(sal as strin…
前言:Hive ql自己设计总结 1,遇到复杂的查询情况,就分步处理.将一个复杂的逻辑,分成几个简单子步骤处理. 2,但能合在一起的,尽量和在一起的.比如同级别的多个concat函数合并一个select 也就是说,字段之间是并行的同级别处理,则放在一个hive ql:而字段间有前后处理逻辑依赖(判断.补值.计算)则可分步执行,提前将每个字段分别处理好,然后进行相应的分步简单逻辑处理. 一. 场景:日志中region数据处理(国家,省份,城市) select city_id,province_id…
spark 2.1.1 spark在写数据到hive外部表(底层数据在hbase中)时会报错 Caused by: java.lang.ClassCastException: org.apache.hadoop.hive.hbase.HiveHBaseTableOutputFormat cannot be cast to org.apache.hadoop.hive.ql.io.HiveOutputFormat at org.apache.spark.sql.hive.SparkHiveWrit…
一:hive中的三种join 1.map join 应用场景:小表join大表 一:设置mapjoin的方式: )如果有一张表是小表,小表将自动执行map join. 默认是true. <property> <name>hive.auto.convert.join</name> <value>true</value> </property> )判断小表 <property> <name>hive.mapjoin…
Hive中的数据倾斜 hive 1. 什么是数据倾斜 mapreduce中,相同key的value都给一个reduce,如果个别key的数据过多,而其他key的较少,就会出现数据倾斜.通俗的说,就是我们在处理的时候数据分布的不均,导致了数据大量集中在某一点.造成了数据的热点. 其实在mapreduce分析的时候最怕的就是数据倾斜,通常会出现下面的情况: map阶段处理比较快,reduce阶段处理比较慢.其实reduce阶段不应该很慢,如果很慢,很大可能就是出现了数据倾斜. 1) 有的reduce…
hive的最新学习资料:http://www.cnblogs.com/qingyunzong/p/8707885.html hive的参数设置大全:https://cwiki.apache.org/confluence/display/Hive/Configuration+Properties 一.hive的执行命令 hive -S :进入hive的静默模式,只显示查询结果,不显示执行过程: hive -e ‘show tables’ :直接在操作系统命令下执行hive语句,不需要进入hive交…
如下图, 计划实现 :按照 parent_code 分组, 取组中code最大值所在的整条记录,如红色部分.(类似hive中: row_number() over(partition by)) select c.* from ( end) as sort_num,(@key_i:=parent_code) as tmp ,@key_i:='') b order by parent_code,code desc) c ; 个人理解, mysql 运行顺序:  from >>  where >…
说明:spark版本:2.2.0 hive版本:1.2.1 需求: 有本地csv格式的一个文件,格式为${当天日期}visit.txt,例如20180707visit.txt,现在需要将其通过spark-sql程序实现将该文件读取并以parquet的格式通过外部表的形式保存到hive中,最终要实现通过传参的形式,将该日期区间内的csv文件批量加载进去,方式有两种: 1.之传入一个参数,说明只加载一天的数据进去 2.传入两个参数,批量加载这两个日期区间的每一天的数据 最终打成jar包,进行运行 步…
本文将会谈一谈在数据仓库中拉链表相关的内容,包括它的原理.设计.以及在我们大数据场景下的实现方式. 全文由下面几个部分组成: 先分享一下拉链表的用途.什么是拉链表. 通过一些小的使用场景来对拉链表做近一步的阐释,以及拉链表和常用的切片表的区别. 举一个具体的应用场景,来设计并实现一份拉链表,最后并通过一些例子说明如何使用我们设计的这张表(因为现在Hive的大规模使用,我们会以Hive场景下的设计为例). 分析一下拉链表的优缺点,并对前面的提到的一些内容进行补充说明,比如说拉链表和流水表的区别.…