当前位置: 首页 > news >正文

常德建设局官方网站济南网站建设方案

常德建设局官方网站,济南网站建设方案,wordpress the ken,在本地做改版如何替换旧网站会影响百度收录吗背景假设有一个学生各门课的成绩的表单#xff0c;应用hive取出每科成绩前100名的学生成绩。这个就是典型在分组取Top N的需求。解决思路对于取出每科成绩前100名的学生成绩#xff0c;针对学生成绩表#xff0c;根据学科#xff0c;成绩做orderby排序,然后对排序后的成绩应用hive取出每科成绩前100名的学生成绩。这个就是典型在分组取Top N的需求。解决思路对于取出每科成绩前100名的学生成绩针对学生成绩表根据学科成绩做orderby排序,然后对排序后的成绩执行自定义函数row_number(),必须带一个或者多个列参数如ROW_NUMBER(col1,....)它的作用是按指定的列进行分组生成行序列。在ROW_NUMBER(a,b)时若两条记录的ab列相同则行序列1否则重新计数。只要返回row_number()返回值小于100的的成绩记录就可以返回每个单科成绩前一百的学生Sql代码  create table score_table (subject string,student string,score int)partitioned by (date string);如果要查询2012年每科成绩前100的学生成绩sql如下Java代码  create temporary function row_number as com.blue.hive.udf.RowNumber;select subject,score,student from(select subject,score,student from score where dt2012 order by subject,socre desc) order_scorewhere row_number(subject)  100;com.blue.hive.udf.RowNumber是自定义函数函数的作用是按指定的列进行分组生成行序列。这里根据每个科目的所有成绩生成序列序列值从1开始自增。执行row_number函数返回值如下科目 成绩 学生 row_number物理 100 张一 1物理 90 张二 2物理 80 张三 3.....数学 100 李一 1数学 90 李二 2数学 80 李三 3....row_number的源码函数row_number(),必须带一个或者多个列参数如ROW_NUMBER(col1,....)它的作用是按指定的列进行分组生成行序列。在ROW_NUMBER(a,b)时若两条记录的ab列相同则行序列1否则重新计数。package com.blue.hive.udf;import org.apache.hadoop.hive.ql.exec.UDF;public class RowNumber extends UDF {private static int MAX_VALUE 50;private static String comparedColumn[] new String[MAX_VALUE];private static int rowNum 1;public int evaluate(Object... args) {String columnValue[] new String[args.length];for (int i 0; i args.length; i) 『columnValue[i] args[i].toString();}if (rowNum 1) {for (int i 0; i columnValue.length; i)comparedColumn[i] columnValue[i];}for (int i 0; i columnValue.length; i) {if (!comparedColumn[i].equals(columnValue[i])) {for (int j 0; j columnValue.length; j) {comparedColumn[j] columnValue[j];}rowNum 1;return rowNum;}}return rowNum;}}编译后打包成一个jar包如/usr/local/hive/udf/blueudf.jar然后在hive shell下使用如下:add jar /usr/local/hive/udf/blueudf.jar;create temporary function row_number as com.blue.hive.udf.RowNumber;select subject,score,student from(select subject,score,student from score where dt2012 order by subject,socre desc) order_scorewhere row_number(subject) 100;同样这个函数可以用作去重操作。可以替代大批量数据的DISTINCT通过执行如select * from(select type,value,row_number() as rnfromlog_table distribute by type,valuesort by type,value)where rn 1;注意但是使用row_number()函数需要注意一点必须使用sortby。测试的时候必须使用order by。row_number()函数会假设数据有序的基础上进行的。
http://wiki.neutronadmin.com/news/288957/

相关文章:

  • 网易 自助网站建设个人养老保险缴费档次
  • 杭州营销型网站建设优秀网文
  • 济南装修公司排名前十强智能网站排名优化
  • 韶关市建设工程造价网站给帅哥做奴视频网站
  • 抢购网站源码李江seo
  • 宁波网站推广业务网站建设地图素材
  • 怎样做网站公司免费windows云电脑
  • 计算机科学与技术 开题报告 网站建设平面设计哪里学
  • 傻瓜式做网站程序网站推广话术与技巧
  • 哪里网站可以做微信头像制作手机网站用什么软件
  • 景安企业网站建设给客户做非法网站
  • 甘肃城乡建设厅网站网站seo排名优化
  • 深圳市网站备案网页设计实验报告摘要
  • app模板网站模板网络规划设计师案例分析
  • 宣城网站seo诊断沈阳建设工程信息网招标显示待验证什么意思
  • 湛江北京网站建设学编程要会英语吗
  • 小地方做外卖网站怎样世界网站制作
  • 石河子做网站wordpress term id
  • 有哪些公司建设网站磁贴式网站模板
  • wordpress更改轮播图百度关键词优化快速排名软件
  • 网站建设最新教程视频wordpress支持国内视频的编辑器
  • 免费的网站后台陕西省城乡住房建设部网站
  • 宁德做网站怎样做美食网站
  • 西安+美院+网站建设seo推广是什么意思呢
  • 成都网络优化网站建设seo公司推荐
  • js做的携程网站建立什么网站
  • 网站单页模板怎么安装北京到牡丹江
  • 南京金九建设集团网站连云港网站关键词优化
  • 腾讯建站官网人才网站建设方案
  • 北京大兴网站建设做微视频的网站