
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 · 271 阅读 · 1 评论 -
Hql-连续登录N天
连续登录 假设我们的字段有 id 和 登录日期 dt 我们以连续登录3天为例 select id,diffdt from ( 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 · 200 阅读 · 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 · 422 阅读 · 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 · 108 阅读 · 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 · 31664 阅读 · 0 评论 -
Hive-三种自定义函数-UDTF
UDTF udtf 是一输入多输出 其自定义方法为: 1.继承 GenericUDTF这个类 2.需要重写三个方法 initialize process close (1)initialize:需要在这个方法中判断输入参数是否合法,以及设定输出有几列和输出的类型最后返回两个list数组分别为列名及列的类型; (2)process :UDTF函数逻辑的具体实现最后用forward方法返回一个Object类型的参数; 因为我们的udtf函数是一输入多输出的但我们在具体实现的时候的forward的方法却只返回一个原创 2021-03-28 13:38:27 · 498 阅读 · 0 评论 -
Hive-三种自定义函数-UDF
UDF udf 是一输入一输出 其自定义方法为: (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 · 325 阅读 · 0 评论