distinct

第十章 Scala 容器基础(二十一):从集合中提取不重复的元素

点点圈 提交于 2020-04-07 06:02:48
Problem 你有一个集合,内部有很多重复元素,你想要把这些重复的元素只保留一份。 Solution 使用Distinct方法: scala> val x = Vector(1, 1, 2, 3, 3, 4) x: scala.collection.immutable.Vector[Int] = Vector(1, 1, 2, 3, 3, 4) scala> val y = x.distinct y: scala.collection.immutable.Vector[Int] = Vector(1, 2, 3, 4) 这个distinct方法返回一个新的集合,重复元素只保留一份。记得使用一个新的变量来指向这个新的集合,无论你使用的是mutable集合还是immutable集合。 如果你突然需要一个set,那么直接吧你的集合转化成为一个set也是去掉重复元素的方式: scala> val s = x.toSet s: scala.collection.immutable.Set[Int] = Set(1, 2, 3, 4) 因为Set对于一样的元素只能保存一份,所以把Array,List,Vector或者其他的集合转化成Set可以去掉重复元素。实际上这就是distinct方法的工作远离。Distinct方法的源代码显示了他就是实用了一个mutable.HashSet的实例。

distinct的使用

喜你入骨 提交于 2020-04-07 01:30:32
https://www.w3school.com.cn/sql/sql_having.asp SQL SELECT DISTINCT 语句 在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。 关键词 DISTINCT 用于返回唯一不同的值。 语法: SELECT DISTINCT 列名称 FROM 表名称 来源: oschina 链接: https://my.oschina.net/u/4434424/blog/3221793

Hive性能优化——介绍

一世执手 提交于 2020-04-06 06:49:32
依据Hadoop的计算框架特性,衍生出来的问题? 数据量大不是问题,数据倾斜是个问题。 jobs数比较多的作业运行效率相对比较低,比如即使有几百行的表,如果多次关联多次汇总,产生十几个jobs,耗时很长。原因是map reduce作业初始化的时间是比较长的。 sum,count,max,min等UDAF,不怕数据倾斜问题,hadoop在map端的汇总合并优化,使数据倾斜不成问题。 count(distinct ),在数据量大的情况下,效率较低,如果是多count(distinct )效率更低,因为count(distinct)是按group by 字段分组,按distinct字段排序,一般这种分布方式是很倾斜的。举个例子:比如男uv,女uv,像淘宝一天30亿的pv,如果按性别分组,分配2个reduce,每个reduce处理15亿数据。 优化手段 好的模型设计事半功倍。 解决数据倾斜问题。 减少job数。 设置合理的map reduce的task数,能有效提升性能。(比如,10w+级别的计算,用160个reduce,那是相当的浪费,1个足够)。 了解数据分布,自己动手解决数据倾斜问题是个不错的选择。set hive.groupby.skewindata=true;这是通用的算法优化,但算法优化有时不能适应特定业务背景,开发人员了解业务,了解数据

网站日志流量分析系统之离线分析(自动化脚本)

孤街醉人 提交于 2020-03-28 23:10:08
   网站日志流量分析系统之(日志收集) 已将数据落地收集并落地至HDFS,根据 网站日志流量分析系统 中架构图,接下来要做的事情就是做离线分析,编写MR程序或通过手写HQL对HDFS中的数据进行清洗;由于清洗逻辑比较简单,这里我选择用Hive来对HDFS中的数据进行清洗(当然也可以用MR来清洗)。数据清洗处理过程相对较长,所以:Be patient,please! 二、服务器规划 三、数据清洗   由于本次测试数据清洗逻辑较为简单,所以采用Hive来进行清洗(当然你也可以选择手写MR程序),下面操作是在hadoopalone主机操作(即安装有hadoop伪分布式) (1)进入hive命令行模式,创建库logdb hive> create database logdb; (2)创建外部分区表管理数据(HDFS) hive>use logdb; hive> create external table logdemo > (url string,urlname string,title string,chset string, > scr string,col string,lg string,je string,ec string, > fv string,cn string,ref string,uagent string, > stat_uv string,stat_ss

XSLT 1.0 How to get distinct values

十年热恋 提交于 2020-03-23 14:32:32
问题 I had an XML somewhat similar to what is shown below. I had to find the unique categories. There are lot of easy ways in XSLT 2.0. But I had to stick to 1.0 :( . After several struggle I found the solution. I thought of sharing. Might help somebody. Please improve my answer. I appreciate. <root> <category> this is Games category </category> <category> this is Books category </category> <category> this is Food category </category> <category> this is Games category </category> <category> this

SQL语句统计每天、每月、每年的数据

最后都变了- 提交于 2020-03-20 15:53:19
1、每年 select year(ordertime) 年, sum(Total) 销售合计 from 订单表 group by year(ordertime) 2、每月 select year(ordertime) 年, month(ordertime) 月, sum(Total) 销售合计 from 订单表 group by year(ordertime), month(ordertime 3、每日 select year(ordertime) 年, month(ordertime) 月, day(ordertime) 日, sum(Total) 销售合计 from 订单表 group by year(ordertime), month(ordertime), day(ordertime) 另外每日也可以这样: select convert(char(8),ordertime,112) dt, sum(Total) 销售合计 from 订单表 group by convert(char(8),ordertime,112) sql题 如何统计查询一个月中每天的记录 怎么写啊?写出来啊! 比如说要查2010年3月份每天的记录 答案 select count(*),substr(t.date,1,10) from table t where t.date like '2010-03%

[LeetCode] 940. Distinct Subsequences II

左心房为你撑大大i 提交于 2020-03-18 05:00:48
Given a string S , count the number of distinct, non-empty subsequences of S . Since the result may be large, return the answer modulo 10^9 + 7 . Example 1: Input: "abc" Output: 7 Explanation: The 7 distinct subsequences are "a", "b", "c", "ab", "ac", "bc", and "abc". Example 2: Input: "aba" Output: 6 Explanation: The 6 distinct subsequences are "a", "b", "ab", "ba", "aa" and "aba". Example 3: Input: "aaa" Output: 3 Explanation: The 3 distinct subsequences are "a", "aa" and "aaa". Note: S contains only lowercase letters. 1 <= S.length <= 2000 Key Observation: If we ignore the distinct

SQL用于查找列中不同值的数量

ぃ、小莉子 提交于 2020-03-15 19:04:25
我可以通过以下方式选择列中的所有不同值: SELECT DISTINCT column_name FROM table_name; SELECT column_name FROM table_name GROUP BY column_name; 但是如何从该查询中获取行数呢? 是否需要子查询? #1楼 这将为您提供不同的列值和每个值的计数。 我经常发现我想知道这两条信息。 select distinct columnName, count(columnName) as CountOf from tableName group by columnName #2楼 select Count(distinct columnName) as columnNameCount from tableName #3楼 您可以在 COUNT 聚合函数中使用 DISTINCT 关键字: SELECT COUNT(DISTINCT column_name) AS some_alias FROM table_name 这将仅计算该列的不同值。 #4楼 SELECT COUNT(DISTINCT column_name) FROM table as column_name_count; 你必须计算那个不同的col,然后给它一个别名。 #5楼 请注意Count()忽略空值

Postgresql Useful SQL/Commands

a 夏天 提交于 2020-03-11 08:19:06
Update records update cloud_subscribers a set subscriber_location_id=b.subscriber_location_id from mtco_subscribers b where a.org_id='117556' and a.subscriber_id=b.subscriber_id; Connections select count(*) from pg_stat_activity; select client_addr,state,count(*) from pg_stat_activity group by client_addr,state order by count(*) desc; select max_conn,used,res_for_super,max_conn-used-res_for_super res_for_normal from (select count(*) used from pg_stat_activity) t1, (select setting::int res_for_super from pg_settings where name=$$superuser_reserved_connections$$) t2, (select setting::int max

适合千万数据查询分页操作的一个通用存储过程

我的未来我决定 提交于 2020-03-07 12:45:54
适合千万数据查询分页操作的一个通用存储过程 一、引言 最近上班比较忙,所以就很少写东西了,MongoDB系列的文章也要拖后了,没办法,工作第一,没工作就没饭吃了。今天正好的有点时间,就把我最近搞得一些东西,记录下来。 在软件行业,稍微大一点的公司,相关数据的存储量就可能会很大,当我们做系统的时候,一定会使用存储过程进行分页显示,至于为什么分页显示,就不用我多说了吧。最近我在做一个系统,为了让系统支持大数据量,做了很多测试,主要是测试各种分页算法的优劣。最后,经过自己的多番测试,确定了这个存储过程。测试环境是: 硬件环境:CPU是12核的,内存是8G的大小, 软件环境:Visual Studio 2015,数据库是 Sql Server 2008 R2,数据量大概有3千万左右 ORM环境:IBatis.Net 测试效果就不贴图了,如果大家想去测试,可以自行操作,首先要说明的一点,如果针对ID主键进行分页查询,最多是300-400毫秒之间就可以把分页数据显示出来,无论是针对第一页还是最后一页显示时间都是差不多的。再者说,如果是针对其他字段的查询分页,必须针对该字段建立索引,查询速度也在毫秒之间可以完成,经过自己的多轮测试,确定了最终的存储过程的样式。当然如果针对查询的分页的字段没有索引页可以查询出来,时间就比较长了。6分钟,10分钟都有可能。由于今天只讨论存储过程,其他的就不说了