草庐IT

partitions

全部标签

Lists.partition

Lists,提供了很多api方便操作。例如:Lists.partition(Listlist,intsize)Lists.partition(Listlist,intsize)将list集合进行切割然后填充到一个List集合里。官方介绍使用场景:比如内存中有大量数据,需要循环调用某个方法(比如批量入库)的时候,可以使用Lists.partition(Listlist,intsize)轻松生成分组后的list集合,满足需求。示例:publicstaticvoidmain(String[]args){Listlist=Arrays.asList(1,2,3,4,5,6,7,8,9);List>ne

leetcode 763. Partition Labels 划分字母区间(中等)

一、题目大意标签:贪心https://leetcode.cn/problems/partition-labels字符串S由小写字母组成。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。返回一个表示每个字符串片段的长度的列表。示例:输入:S="ababcbacadefegdehijhklij"输出:[9,7,8]解释:划分结果为"ababcbaca","defegde","hijhklij"。每个字母最多出现在一个片段中。像"ababcbacadefegde","hijhklij"的划分是错误的,因为划分的片段数较少。提示:S的长度在[1,500]之间。S只包含小写字母'a

leetcode 763. Partition Labels 划分字母区间(中等)

一、题目大意标签:贪心https://leetcode.cn/problems/partition-labels字符串S由小写字母组成。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。返回一个表示每个字符串片段的长度的列表。示例:输入:S="ababcbacadefegdehijhklij"输出:[9,7,8]解释:划分结果为"ababcbaca","defegde","hijhklij"。每个字母最多出现在一个片段中。像"ababcbacadefegde","hijhklij"的划分是错误的,因为划分的片段数较少。提示:S的长度在[1,500]之间。S只包含小写字母'a

leetcode 416. Partition Equal Subset Sum 分割等和子集(中等)

一、题目大意标签:动态规划https://leetcode.cn/problems/partition-equal-subset-sum给你一个只包含正整数的非空数组 nums。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。示例1:输入:nums=[1,5,11,5]输出:true解释:数组可以分割成[1,5,5]和[11]。示例2:输入:nums=[1,2,3,5]输出:false解释:数组不能分割成两个元素和相等的子集。提示:11二、解题思路设所有数字和为sum,我们的目标是选取一个子数组,使它的总和为sum/2,定义二维boolean数组dp[i][j],其意义是使

leetcode 416. Partition Equal Subset Sum 分割等和子集(中等)

一、题目大意标签:动态规划https://leetcode.cn/problems/partition-equal-subset-sum给你一个只包含正整数的非空数组 nums。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。示例1:输入:nums=[1,5,11,5]输出:true解释:数组可以分割成[1,5,5]和[11]。示例2:输入:nums=[1,2,3,5]输出:false解释:数组不能分割成两个元素和相等的子集。提示:11二、解题思路设所有数字和为sum,我们的目标是选取一个子数组,使它的总和为sum/2,定义二维boolean数组dp[i][j],其意义是使

合理安排kafka的broker、partition、consumer数量

broker的数量最好大于等于partition数量一个partition最好对应一个硬盘,这样能最大限度发挥顺序写的优势。一个broker如果对应多个partition,需要随机分发,顺序IO会退化成随机IO。实验条件:3个Broker,1个Topic,无Replication,异步模式,3个Producer,消息Payload为100字节:第一阶段:当Partition数量小于Broker个数时,Partition数量越大,吞吐率越高,且呈线性提升。Kafka会将所有Partition均匀分布到所有Broker上,所以当只有2个Partition时,会有2个Broker为该Topic服务。

合理安排kafka的broker、partition、consumer数量

broker的数量最好大于等于partition数量一个partition最好对应一个硬盘,这样能最大限度发挥顺序写的优势。一个broker如果对应多个partition,需要随机分发,顺序IO会退化成随机IO。实验条件:3个Broker,1个Topic,无Replication,异步模式,3个Producer,消息Payload为100字节:第一阶段:当Partition数量小于Broker个数时,Partition数量越大,吞吐率越高,且呈线性提升。Kafka会将所有Partition均匀分布到所有Broker上,所以当只有2个Partition时,会有2个Broker为该Topic服务。

PostgreSQL 的窗口函数 OVER, WINDOW, PARTITION BY, RANGE

最近在数据处理中用到了窗函数,把使用方法记录一下,暂时只有分组排序和滑动时间窗口的例子,以后再逐步添加场景在SQL查询时,会遇到有两类需要分组统计的场景,在之前的SQL语法中是不方便实现的场景1:顾客维修设备的记录表,每次维修产生一条记录,每个记录包含时间,顾客ID和维修金额,要取出每个顾客的维修次数和最后一次维修时的金额场景2:还是上面的维修记录表,要取出每个顾客的每次维修之间的时间间隔场景3:一个用户账户的交易流水表,要求每个小时的交易笔数和平均收支金额,这个平均数的统计范围是两个小时(整点时间的前后一个小时)使用窗函数直接SQL中使用窗函数就能解决这些问题,否则需要使用临时表,函数或存储

PostgreSQL 的窗口函数 OVER, WINDOW, PARTITION BY, RANGE

最近在数据处理中用到了窗函数,把使用方法记录一下,暂时只有分组排序和滑动时间窗口的例子,以后再逐步添加场景在SQL查询时,会遇到有两类需要分组统计的场景,在之前的SQL语法中是不方便实现的场景1:顾客维修设备的记录表,每次维修产生一条记录,每个记录包含时间,顾客ID和维修金额,要取出每个顾客的维修次数和最后一次维修时的金额场景2:还是上面的维修记录表,要取出每个顾客的每次维修之间的时间间隔场景3:一个用户账户的交易流水表,要求每个小时的交易笔数和平均收支金额,这个平均数的统计范围是两个小时(整点时间的前后一个小时)使用窗函数直接SQL中使用窗函数就能解决这些问题,否则需要使用临时表,函数或存储

由浅入深理解Kafka Partition机制

什么是TopicTopic翻译过来是主题的意思,一个Topic就像数据库中的一张表。Producer发布的消息可以带有主题,主题相同的消息记录放在一个集合里。什么是PartitionPartition是最小的存储单元,每个Partition都是一个单独的log文件,每条记录都以追加的形式写入。Topic在Partition里如何体现如下图,一份topic的数据有三部分组成,下图设置的分片数是2。在下图中一份topic的数据=replica0_1+replica1_1+replica2_1,但是为了保证容错率每一部分的数据需要在另外一台机器(broker)进行备份,比如在Borker1这台机器上