partition

How to paginate a list of objects in Java 8?

狂风中的少年 提交于 2019-11-26 20:17:02
问题 Given a java.util.List with n elements and a desired page size m , I want to transform it to a map containing n/m+n%m elements. Each map element shall contain m elements. Here's an example with integers: List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); // What is the equivalent Java 8 code to create the map below from my list? Map<Integer, List<Integer>> map = new HashMap<>(); map.put(0, Arrays.asList(1,2,3)); map.put(1, Arrays.asList(4,5,6)); map.put(2, Arrays.asList(7,8,9)

Kafka面试,看这篇文章就够了

为君一笑 提交于 2019-11-26 19:41:50
原文链接: https://mp.weixin.qq.com/s/zxPz_aFEMrshApZQ727h4g ** 引言 MQ(消息队列)是跨进程通信的方式之一,可理解为异步rpc,上游系统对调用结果的态度往往是重要不紧急。使用消息队列有以下好处:业务解耦、流量削峰、灵活扩展。接下来介绍消息中间件Kafka。 Kafka是什么? Kafka是一个分布式的消息引擎。具有以下特征 能够发布和订阅消息流(类似于消息队列) 以容错的、持久的方式存储消息流 多分区概念,提高了并行能力 Kafka架构总览 Topic 消息的主题、队列,每一个消息都有它的topic,Kafka通过topic对消息进行归类。Kafka中可以将Topic从物理上划分成一个或多个分区(Partition),每个分区在物理上对应一个文件夹,以”topicName_partitionIndex”的命名方式命名,该dir包含了这个分区的所有消息(.log)和索引文件(.index),这使得Kafka的吞吐率可以水平扩展。 Partition 每个分区都是一个 顺序的、不可变的消息队列, 并且可以持续的添加;分区中的消息都被分了一个序列号,称之为偏移量(offset),在每个分区中此偏移量都是唯一的。 producer在发布消息的时候,可以为每条消息指定Key,这样消息被发送到broker时

Drop multiple partitions based on date

此生再无相见时 提交于 2019-11-26 18:27:42
问题 I have a table based on daily partitions. I can drop a paritition using the below query ALTER TABLE MY_TABLE DROP PARTITION FOR(TO_DATE('19-DEC-2017','dd-MON-yyyy')) How can I drop all the partitions(multiple partitions) before 15days? 回答1: You can use PL/SQL like this. DECLARE CANNOT_DROP_LAST_PARTITION EXCEPTION; PRAGMA EXCEPTION_INIT(CANNOT_DROP_LAST_PARTITION, -14758); ts TIMESTAMP; BEGIN FOR aPart IN (SELECT PARTITION_NAME, HIGH_VALUE FROM USER_TAB_PARTITIONS WHERE TABLE_NAME = 'MY_TABLE

数据库分区表常用命令

旧巷老猫 提交于 2019-11-26 17:35:46
一、Oracle分区简介 ORACLE的分区是一种处理超大型表、索引等的技术。分区是一种“分而治之”的技术,通过将大表和索引分成可以管理的小块,从而避免了对每个表作为一个大的、单独的对象进行管理,为大量数据提供了可伸缩的性能。分区通过将操作分配给更小的存储单元,减少了需要进行管理操作的时间,并通过增强的并行处理提高了性能,通过屏蔽故障数据的分区,还增加了可用性。 二、Oracle分区优缺点 ? 优点: 增强可用性:如果表的某个分区出现故障,表在其他分区的数据仍然可用; 维护方便:如果表的某个分区出现故障,需要修复数据,只修复该分区即可; 均衡I/O:可以把不同的分区映射到磁盘以平衡I/O,改善整个系统性能; 改善查询性能:对分区对象的查询可以仅搜索自己关心的分区,提高检索速度。 ? 缺点: 分区表相关:已经存在的表没有方法可以直接转化为分区表。不过 Oracle 提供了在线重定义表的功能。 三、Oracle分区方法 ? 范围分区: 范围分区就是对数据表中的某个值的范围进行分区,根据某个值的范围,决定将该数据存储在哪个分区上。如根据序号分区,根据业务记录的创建日期进行分区等。 ? Hash分区(散列分区): 散列分区为通过指定分区编号来均匀分布数据的一种分区类型,因为通过在I/O设备上进行散列分区,使得这些分区大小一致。 ? List分区(列表分区):

【原】Sql Server性能优化——Partition(创建分区)

戏子无情 提交于 2019-11-26 15:52:07
和压缩(Compression)相比,数据库分区(Partition)的操作更为复杂繁琐。而且与Compression一次操作,终身保持不同,分区是一项需要长期维护周期变更的操作。 分区的意义在于将大数据从物理上切割为几个相互独立的小部分,从而在查询时只取出其中一个或几个分区,减少影响的数据;另外对于置于不同文件组的分区,并行查询的性能也要高于对整个表的查询性能。 事实上,在SQL Server 2005中就已经包含了分区功能,甚至在2005之前,还存在一个叫做“Partitioned Views”的功能,能通过将同样结构的表Union在一个View中,实现类似现在分区表的效果。而在SQL Server 2008中,分区功能得到了显著加强,使得我们不仅能够对表和索引做分区, 而且允许对分区上锁,而不是之前的全表上锁 。 指定分区列 和Compression一样,在SQL Server 2008中也提供了分区的向导界面。在企业管理器中,需要分区的表上右键选择Storage-》Create Partition: 这里会列出该表所有的字段,包括字段类型、长度、精度及小数位数的信息,可以选择其中的任意一一列作为分区列(Patitioning Column),不仅仅是数字或者日期类型,即使是字符串类型的列,也可以按照字母顺序进行分区。而以下类型的列不可用于分区: text、ntext

row_number()over函数的使用(转)

人走茶凉 提交于 2019-11-26 15:42:57
(转) http://hi.baidu.com/122439049/blog/item/0c9c48131b2734d5f7039e13.html row_number() OVER (PARTITION BY COL1 ORDER BY COL2) 表示根据COL1分组,在分组内部根据 COL2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的).   与rownum的区别在于:使用rownum进行排序的时候是先对结果集加入伪列rownum然后再进行排序,而此函数在包含排序从句后是先排序再计算行号码.   row_number()和rownum差不多,功能更强一点(可以在各个分组内从1开时排序).   rank()是跳跃排序,有两个第二名时接下来就是第四名(同样是在各个分组内).   dense_rank()l是连续排序,有两个第二名时仍然跟着第三名。相比之下row_number是没有重复值的 .   lag(arg1,arg2,arg3): arg1是从其他行返回的表达式 arg2是希望检索的当前行分区的偏移量。是一个正的偏移量,时一个往回检索以前的行的数目。 arg3是在arg2表示的数目超出了分组的范围时返回的值。 看几个SQL语句: 语句一: select row_number() over(order by sale/cnt desc) as

分区助手 AOMEI Partition Assistant v8.4.0 绿色版

你。 提交于 2019-11-26 14:31:55
傲梅分区助手技术员 AOMEI Partition Assistant Technician Edition 是一款非常好用的硬盘分区工具。傲梅分区助手为用户提供非常完善的硬盘分区服务,可以帮助用户做好电脑硬盘管理,是用户日常维护电脑系统常用管理好帮手。傲梅分区助手是一款免费、专业级的无损分区工具,提供简单、易用的磁盘分区管理操作。作为传统分区魔法师的替代者,在操作系统兼容性方面,傲梅分区软件打破了以前的分区软件兼容差的缺点,它完美兼容全部操作系统。不仅如此,分区助手从调整分区大小等方面出发,能无损数据地实现扩大分区,缩小分区,合并分区,拆分分区,快速分区,克隆磁盘等操作。此外,它也能迁移系统到固态硬盘,是一个不可多得分区工具。 <ignore_js_op> AOMEI Partition Assistant 是磁盘分区管理软件,允许你完全控制您的硬盘和分区。例如,“调整大小分区”使你可以增加分区大小以解决磁盘空间不足问题,或缩小分区大小以使分区大小更合理。你可以使用“创建分区”,“合并分区”,“删除分区”,“格式化分区”,“复制分区”等灵活管理磁盘空间 AOMEI分区助手嵌入了扇区级数据保护技术。它使您能够实现更安全的分区操作,满足你的期望。无论MBR或GPT样式的磁盘或磁盘的大小(小于或大于2TB) AOMEI Partition Assistant 可以解决“磁盘空间不足

深入浅出系列之 -- kafka消费者的三种语义

旧时模样 提交于 2019-11-26 14:17:15
本文主要详解kafka client的使用,包括kafka消费者的三种消费语义at-most-once,at-least-once,和exact-once message,生产者的使用等。 创建主题 bin/kafka-topics.sh --zookeeper localhost:2181 --create --topic normal --partitions 2 --rerelication-factor 1 生产者 private static Producer < String,String > createProducer(){ Properties props = new Properties(); props.put(“bootstrap.servers”,“localhost:9092”); props.put(“acks”,“all”); props.put(“retries”,0); //控制发送者在发布到Kafka之前等待批处理的字节数。 props.put(“batch.size”,10); props.put(“linger.ms”,); props.put(“key.serializer”,“org.apache.kafka.common.serialization.StringSerializer”); props.put(“value

Oracle &#39;Partition By&#39; and &#39;Row_Number&#39; keyword

末鹿安然 提交于 2019-11-26 12:53:23
问题 I have a SQL query written by someone else and I\'m trying to figure out what it does. Can someone please explain what the Partition By and Row_Number keywords does here and give a simple example of it in action, as well as why one would want to use it? An example of partition by: (SELECT cdt.*, ROW_NUMBER () OVER (PARTITION BY cdt.country_code, cdt.account, cdt.currency ORDER BY cdt.country_code, cdt.account, cdt.currency) seq_no FROM CUSTOMER_DETAILS cdt); I\'ve seen some examples online,

rocketMq和kafka的架构区别

拟墨画扇 提交于 2019-11-26 12:46:51
概述 其实一直想写一篇rocketMq和kafka在架构设计上的差别,但是一直有个问题没搞明白所以迟迟没动手,今天无意中听人点播了一下似乎明白了这个问题,所以就有了这篇对比。 这篇博文主要讲清楚kafka和rocketMq的两个不同点,1、rocketMq的namesvr和kafka的zookeeper对比;2、kafka为什么比rocketMq有更大的吞吐量。如果能够讲清楚上面两个问题我觉得就已经很满足了。 最后,文章引入的参考文章里面有一些比较好的链接,有兴趣的话可以好好看看,里面其实有些地方比我讲解的更深入。 namesrv VS zk 1、我们可以对比下kafka和rocketMq在协调节点选择上的差异,kafka通过zookeeper来进行协调,而rocketMq通过自身的namesrv进行协调。 2、kafka在具备选举功能,在Kafka里面,Master/Slave的选举,有2步:第1步,先通过ZK在所有机器中,选举出一个KafkaController;第2步,再由这个Controller,决定每个partition的Master是谁,Slave是谁。因为有了选举功能,所以kafka某个partition的master挂了,该partition对应的某个slave会升级为主对外提供服务。 3、rocketMQ不具备选举,Master/Slave的角色也是固定的