1. %sql
  2. select
  3. t3.*
  4. from (
  5. select
  6. t2.*
  7. ,row_number() over(partition by t2.pt order by t2.pv) as rn2
  8. from (
  9. select
  10. t1.cookieid
  11. ,t1.createtime
  12. ,t1.pv
  13. ,ntile(2) over(order by t1.pv) as pt --分组内将数据分成2
  14. ,row_number() over(order by t1.pv) as rn
  15. ,count(1) over() as cn
  16. from (
  17. select 'cookie1' as cookieid ,'2015-04-10' as createtime, 1 as pv union all
  18. select 'cookie1' as cookieid ,'2015-04-11' as createtime, 2 as pv union all
  19. select 'cookie1' as cookieid ,'2015-04-12' as createtime, 3 as pv union all
  20. select 'cookie1' as cookieid ,'2015-04-13' as createtime, 4 as pv union all
  21. select 'cookie1' as cookieid ,'2015-04-14' as createtime, 5 as pv union all
  22. select 'cookie1' as cookieid ,'2015-04-15' as createtime, 6 as pv union all
  23. select 'cookie1' as cookieid ,'2015-04-16' as createtime, 7 as pv union all
  24. select 'cookie2' as cookieid ,'2015-04-10' as createtime, 8 as pv union all
  25. select 'cookie2' as cookieid ,'2015-04-11' as createtime, 9 as pv union all
  26. select 'cookie2' as cookieid ,'2015-04-12' as createtime, 10 as pv union all
  27. select 'cookie2' as cookieid ,'2015-04-13' as createtime, 11 as pv union all
  28. select 'cookie2' as cookieid ,'2015-04-14' as createtime, 12 as pv union all
  29. select 'cookie2' as cookieid ,'2015-04-15' as createtime, 13 as pv union all
  30. select 'cookie2' as cookieid ,'2015-04-16' as createtime, 14 as pv
  31. ) t1
  32. ) t2
  33. ) t3
  34. where t3.rn2 = 1 or t3.rn = t3.cn
  35. ;

hive取等分数据的更多相关文章

  1. Hive 如何快速拉取大批量数据

    用hive来做数仓类操作,或者大数据的运算,是没有疑问的,至少在你没有更多选择之前. 当我们要hive来做类似于大批量数据的select时,也许问题就会发生了变化. 1. 通用解决方案之分页 首先,我 ...

  2. Hive导出复杂数据到csv文件

    工作中经常遇到使用Hive导出数据到文本文件供数据分析时使用.Hive导出复杂数据到csv等文本文件时,有时会遇到以下几个问题: 导出的数据只有数据没有列名. 导出的数据比较复杂时,如字符串内包含一些 ...

  3. Hive中的数据倾斜

    Hive中的数据倾斜 hive 1. 什么是数据倾斜 mapreduce中,相同key的value都给一个reduce,如果个别key的数据过多,而其他key的较少,就会出现数据倾斜.通俗的说,就是我 ...

  4. spark SQL (五)数据源 Data Source----json hive jdbc等数据的的读取与加载

    1,JSON数据集 Spark SQL可以自动推断JSON数据集的模式,并将其作为一个Dataset[Row].这个转换可以SparkSession.read.json()在一个Dataset[Str ...

  5. Hive读取外表数据时跳过文件行首和行尾

    作者:Syn良子 出处:http://www.cnblogs.com/cssdongl 转载请注明出处 有时候用hive读取外表数据时,比如csv这种类型的,需要跳过行首或者行尾一些和数据无关的或者自 ...

  6. sql 分组取最新的数据sqlserver巧用row_number和partition by分组取top数据

    SQL Server 2005后之后,引入了row_number()函数,row_number()函数的分组排序功能使这种操作变得非常简单 分组取TOP数据是T-SQL中的常用查询, 如学生信息管理系 ...

  7. Charles 如何抓取https数据包

    Charles可以正常抓取http数据包,但是如果没有经过进一步设置的话,无法正常抓取https的数据包,通常会出现乱码.举个例子,如果没有做更多设置,Charles抓取https://www.bai ...

  8. row_number和partition by分组取top数据

    分组取TOP数据是T-SQL中的常用查询, 如学生信息管理系统中取出每个学科前3名的学生.这种查询在SQL Server 2005之前,写起来很繁琐,需要用到临时表关联查询才能取到.SQL Serve ...

  9. Hive几种数据导出方式

    Hive几种数据导出方式 今天我们再谈谈Hive中的几种不同的数据导出方式.可以根据导出的地方不一样,将这些方式分为三种: (1).导出到本地文件系统: (2).导出到HDFS中: (3).导出到Hi ...

随机推荐

  1. Absolute Layout

    ----------------siwuxie095 根面板 contentPane 的默认布局为 Border Layout,将其 切换为 Absolute Layout Absolute Layo ...

  2. uniqid() 函数 和 microtime()函数

    uniqid() 函数基于以微秒计的当前时间,生成一个唯一的 ID.语法 uniqid(prefix,more_entropy) 参数     描述prefix     可选.为 ID 规定前缀.如果 ...

  3. 简单好用的General开发框架

    1.开篇概述 从2004年学习编程,2007年学习C#以来,做的多半都是跟数据库打交道的工作,所以也积累了很多数据库方面的知识,用过一些ORM框架,从了解掌握到自己实现,慢慢积累了很多代码,直到201 ...

  4. EZOJ #73

    传送门 分析 我们知道如果对于模数$P$有$gcd(x,P) = 1$则$x$一定有且仅有一个逆元,可以表示为 $x \equiv \frac{y}{1} (mod P)$ 即为$xy \equiv ...

  5. Luogu 3267 [JLOI2016/SHOI2016]侦察守卫

    以后要记得复习鸭 BZOJ 4557 大佬的博客 状态十分好想,设$f_{x, i}$表示以覆盖完$x$为根的子树后还能向上覆盖$i$层的最小代价,$g_{x, i}$表示以$x$为根的子树下深度为$ ...

  6. Luogu 4310 绝世好题

    BZOJ 4300 先把这堆东西丢到博客里,以后再复习. 首先考虑暴力的$dp$,设$f_i$表示以$i$结尾的满足条件的序列的最长长度,有: $f_i = max(f_j) + 1$    $j & ...

  7. 关于Lucene,你至少要知道的事

    1.是什么? 全文搜索引擎 2.干什么? 实现网站全文检索功能(自带语法高亮功能) 3.原理? Lucene生成索引(语法解析后,生成索引文件)-根据索引进行查询(语法解析后,根据解析后的结果进行查询 ...

  8. win8使用every'thing无法显示搜索结果的解决方法

    关键词: win8,everything,无搜索结果 进入everything ,tools->option右下角有个 restore defaults 如果安全软件阻拦,点击  允许 就行了, ...

  9. 《Linux内核设计与实现》读书笔记(五)- 系统调用

    主要内容: 什么是系统调用 Linux上的系统调用实现原理 一个简单的系统调用的实现 1. 什么是系统调用 简单来说,系统调用就是用户程序和硬件设备之间的桥梁. 用户程序在需要的时候,通过系统调用来使 ...

  10. day05.2-Vim编辑器

    一. 安装Vim编辑器和打开新建文件      安装Vim编辑器:apt-get   install   Vim 新建与打开Vim文件:vim   文件名 二. Vim编辑器三种模式的使用与切换 指令 ...