隐式转换图表 图表小结: 一、double decimal string varchar  这四个基本能相互转换      除了 decimal转double不行 因为decimal比double大相当于double与flout 二、基本所有类型都能转为string 与varchar  三、多重转换(显示转换), a为binary(字节数组),a代表数字时 SELECT (cast(cast(a as string) as double )) f…

2018年7月26日 0条评论 6点热度 阅读全文

业务背景 hive表test_user_browse记录了用户浏览过的商品,该表的数据如下: username product John product_a,product_b,product_c,product_d Tom product_e,product_f 现在,想要将product字段拆分为多行。 实现方式 现在借助lateral view 和explode()来完成。 select username, browse_product from pms.test_user_browse lateral vi…

2018年5月26日 0条评论 9点热度 阅读全文

业务背景 extract_trfc_page_kpi的hive sql如下: set mapred.job.queue.name=pms; set hive.exec.reducers.max=8; set mapred.reduce.tasks=8; set mapred.job.name=extract_trfc_page_kpi; insert overwrite table pms.extract_trfc_page_kpi partition(ds='$yesterday') select distinc…

2018年5月26日 0条评论 2点热度 阅读全文

#!/bin/bash source /etc/profile; ################################################## # Author: ouyangyewei # # # # Content: Combineorder Algorithm # ################################################## # change workspace to here cd / cd /home/deploy/recsys/algori…

2018年5月26日 0条评论 8点热度 阅读全文

1、ROW_NUMBER,RANK(),DENSE_RANK() 语法格式:row_number() OVER (partition by COL1 order by COL2 desc ) rankpartition by:类似hive的建表,分区的意思;order by :排序,默认是升序,加desc降序;rank:表示别名表示根据COL1分组,在分组内部根据 COL2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的) 1.1 案例 1.1.1 样本数据 浙江,杭州,300浙江,宁波,15…

2018年5月26日 0条评论 7点热度 阅读全文

1.hive中UDF是什么? 2.如何构建UDF? 3.如何实现UDF? 4.如何使用UDF? Hive是一种构建在Hadoop上的数据仓库,Hive把SQL查询转换为一系列在Hadoop集群中运行的MapReduce作业,是MapReduce更高层次的抽象,不用编写具体的MapReduce方法。Hive将数据组织为表,这就使得HDFS上的数据有了结构,元数据即表的模式,都存储在名为metastore的数据库中。 1.UDF是什么? hive的类SQL预发给数据挖掘工作者带来了很多便利,海量数据通过简单的sql就可…

2018年5月26日 0条评论 5点热度 阅读全文

Hive执行流程 •编译器将一个Hive QL转换操作符 •操作符是Hive的最小的处理单元 •每个操作符代表HDFS的一个操作或者一道MapReduce作业 Operator •Operator都是hive定义的一个处理过程 •Operator都定义有: •protected List <Operator<?  extends Serializable >> childOperators;  •protecte…

2018年5月26日 0条评论 6点热度 阅读全文

   Hive 将元数据存储在 RDBMS 中,一般常用 MySQL 和 Derby。默认情况下,Hive 元数据保存在内嵌的 Derby 数据库中,只能允许一个会话连接,只适合简单的测试。实际生产环境中不适用, 为了支持多用户会话,则需要一个独立的元数据库,使用 MySQL 作为元数据库,Hive 内部对 MySQL 提供了很好的支持。 内置的derby主要问题是并发性能很差,可以理解为单线程操作。 Derby还有一个特性。更换目录执行操作,会找不到相关表等比如在/usr下执行创建表,在/us…

2018年5月26日 0条评论 6点热度 阅读全文

     业务背景用户轨迹工程的性能瓶颈一直是etract_track_info,其中耗时大户主要在于trackinfo与pm_info进行左关联的环节,trackinfo与pm_info两张表均为GB级别,左关联代码块如下:[mw_shl_code=sql,true]from trackinfo a left outer join pm_info b on (a.ext_field7 = b.id) [/mw_shl_code]使用以上代码块需要耗时1.5小时。优…

2018年5月26日 0条评论 10点热度 阅读全文

优化时,把hive sql当做map reduce程序来读,会有意想不到的惊喜。 理解hadoop的核心能力,是hive优化的根本。这是这一年来,项目组所有成员宝贵的经验总结。   长期观察hadoop处理数据的过程,有几个显著的特征: 1.不怕数据多,就怕数据倾斜。 2.对jobs数比较多的作业运行效率相对比较低,比如即使有几百行的表,如果多次关联多次汇总,产生十几个jobs,没半小时是跑不完的。map reduce作业初始化的时间是比较长的。 3.对sum,count来说,不存在数据倾斜问题。 4.对…

2018年5月26日 0条评论 15点热度 阅读全文