![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
hive
1024276449
这个作者很懒,什么都没留下…
展开
-
Hive Impala联系与区别
Impala 与Hive都是构建在Hadoop之上的数据查询工具各有不同的侧重适应面,但从客户端使用来看Impala与Hive有很多的共同之处,如数据表元数据、ODBC/JDBC驱动、SQL语法、灵活的文件格式、存储资源池等。Impala与Hive在Hadoop中的关系如上图所示。Hive适合于长时间的批处理查询分析,而Impala适合于实时交互式SQL查询,Impala给数据分析人员提供了快速实验、验证想法的大数据分析工具。可以先使用hive进行数据转换处理,之后使用Impala在Hive处理后的结果数.原创 2021-06-13 20:34:13 · 194 阅读 · 1 评论 -
Hql-连续登录N天
连续登录 假设我们的字段有 id 和 登录日期 dt我们以连续登录3天为例select id,diffdtfrom( select id, sortdt - dt as diffdt from (select id, dt, rownumber() over(partition by id order by dt) as sortdt f原创 2021-06-07 21:27:36 · 150 阅读 · 0 评论 -
HQL-留存率计算
留存率既:留存率=登录用户数/新增用户总数 * 100%登录用户数:在统计的时间登陆过的用户新增用户总数:新创建的用户(第一次登录的用户)思路:因为我们现实生产中求的不只是次日留存,还有7日留存或30日留存1.首先我们统计出每个用户最早登录时间2.统计出每日新增人数3.在统计出每日活跃用户4.将两个查询结果进行join形成新表 id atime(每日登录) btime(最早登录)5.通过TIMESTAMPDIFF(DAY,atime,btime)函数,求出两个日期之间相差的天数SELE原创 2021-05-15 22:24:13 · 373 阅读 · 0 评论 -
Hive优化
Hive优化1)MapJoin如果不指定MapJoin或者不符合MapJoin的条件,那么Hive解析器会将Join操作转换成Common Join,即:在Reduce阶段完成join。容易发生数据倾斜。可以用MapJoin把小表全部加载到内存在map端进行join,避免reducer处理。2)行列过滤列处理:在SELECT中,只拿需要的列,如果有,尽量使用分区过滤,少用SELECT *。行处理:在分区剪裁中,当使用外关联时,如果将副表的过滤条件写在Where后面,那么就会先全表关联,之后再过滤。原创 2021-04-02 23:01:26 · 63 阅读 · 0 评论 -
Hive-创建永久函数
Hive之创建永久函数首先将我们写好的自定义函数打包上传到我们的HDFS上hadoop fs -mkdir /user/hive/jars/hadoop fs -put /opt/module/datas/1.jar /user/hive/jars/然后回到我们的hive中create function small as 'com.qqhru.hive.LogUDTF' using jar '/user/hive/jars/1.jar';此时我们show 一下就可以看到我们刚才创建的方法细心原创 2021-03-29 08:52:30 · 30588 阅读 · 0 评论 -
Hive-三种自定义函数-UDTF
UDTFudtf 是一输入多输出其自定义方法为:1.继承 GenericUDTF这个类2.需要重写三个方法 initialize process close(1)initialize:需要在这个方法中判断输入参数是否合法,以及设定输出有几列和输出的类型最后返回两个list数组分别为列名及列的类型;(2)process :UDTF函数逻辑的具体实现最后用forward方法返回一个Object类型的参数;因为我们的udtf函数是一输入多输出的但我们在具体实现的时候的forward的方法却只返回一个原创 2021-03-28 13:38:27 · 429 阅读 · 0 评论 -
Hive-三种自定义函数-UDF
UDFudf 是一输入一输出其自定义方法为:(1)继承 UDF这个类(2)重写evaluate方法(3)确定自己的输入参数类型及放回参数类型代码实现import org.apache.commons.lang.StringUtils;import org.apache.hadoop.hive.ql.exec.UDF;import org.json.JSONObject;public class MyUDF extends UDF { //我们此时想要的返回的参数类型为String原创 2021-03-28 12:45:03 · 256 阅读 · 0 评论