partition

java list分组操作

*爱你&永不变心* 提交于 2020-01-15 07:04:40
list分组操作 Guava包提供了对list进行分组操作的方法 Lists.partition(List<T> list, int size) 。 目的: 将 list 按照指定的长度进行分割,返回一个新的 List<List<T>> 集合。 举例: public static void main ( String [ ] args ) { // 新建一个list List < Integer > list = Lists . newArrayList ( 1 , 2 , 3 , 4 , 5 , 6 , 7 ) ; // 指定长度为3进行分割,返回新的List<List<T>>集合 List < List < Integer > > partition = Lists . partition ( list , 3 ) ; // 打印分割好的list System . out . println ( "partition:" + partition ) ; // 打印分割好的list中的每个元素 partition . forEach ( System . out : : println ) ; } 运行结果: 来源: CSDN 作者: Blueberry ice 链接: https://blog.csdn.net/qq_36223908/article/details

Kafka丢失数据问题优化总结

笑着哭i 提交于 2020-01-15 06:05:39
数据丢失是一件非常严重的事情事,针对数据丢失的问题我们需要有明确的思路来确定问题所在,针对这段时间的总结,我个人面对kafka 数据丢失问题的解决思路如下: 是否真正的存在数据丢失问题,比如有很多时候可能是其他同事操作了测试环境,所以首先确保数据没有第三方干扰。 理清你的业务流程,数据流向,数据到底是在什么地方丢失的数据,在kafka 之前的环节或者kafka之后的流程丢失?比如kafka的数据是由flume提供的,也许是flume丢失了数据,kafka 自然就没有这一部分数据。 如何发现有数据丢失,又是如何验证的。从业务角度考虑,例如:教育行业,每年高考后数据量巨大,但是却反常的比高考前还少,或者源端数据量和目的端数据量不符 定位数据是否在kafka之前就已经丢失还事消费端丢失数据的 kafka支持数据的重新回放功能(换个消费group),清空目的端所有数据,重新消费。 如果是在消费端丢失数据,那么多次消费结果完全一模一样的几率很低。 如果是在写入端丢失数据,那么每次结果应该完全一样(在写入端没有问题的前提下)。 kafka环节丢失数据,常见的kafka环节丢失数据的原因有: 如果auto.commit.enable=true,当consumer fetch了一些数据但还没有完全处理掉的时候,刚好到commit interval出发了提交offset操作,接着consumer

apache kylin总结

人走茶凉 提交于 2020-01-15 04:39:50
去年12月挖的坑,今天找时间填上。update:20190119 一、kylin架构 核心是预计算,在此架构上做了一些优化。计算结果存储在Hbase,对Hive等查询转换为Hbase的Scan,提高速度。 缺点亦明显,先天没有AD-HOC能力 二、kylin高可用部署 Kylin的每个结点都可以部署为Job节点(build cube用)兼查询节点。并且每个节点之间对等。因此只要前面加个Nginx做请求转发即可。 Kylin支持通过增加节点水平扩容。 三、kylin on hbase vs kylin on druid 目前的 Kylin 数据存储使用 HBase,存储 Cube 时将维度值和度量值转换成 HBase 的 KeyValue。因为 HBase 不支持二级索引,只有一个行键 (RowKey) 索引,Kylin 的维度值会按照固定的顺序拼接作为 RowKey 存储,那么排在 RowKey 前面的维度,就会获得比后面的维度更好的过滤性能。 也就是说排在rowkey后面的维度查询,效率极低,因为需要scan Hbase的行数非常大,Druid可以解决这个问题。 其特点: 1)数据实时流入,毫秒级延迟即可查询。与ES有些像? 2)支持倒排索引,具有良好的过滤性能。(Hbase只支持一级索引,导致rowkey后面的维度过滤性能差) 这是其较于 Kylin On

SQL Server表分区

你说的曾经没有我的故事 提交于 2020-01-13 23:21:24
SQL Server表分区 什么是表分区 一般情况下,我们建立数据库表时,表数据都存放在一个文件里。 但是如果是分区表的话,表数据就会按照你指定的规则分放到不同的文件里,把一个大的数据文件拆分为多个小文件,还可以把这些小文件放在不同的磁盘下由多个cpu进行处理。这样文件的大小随着拆分而减小,还得到硬件系统的加强,自然对我们操作数据是大大有利的。 所以大数据量的数据表,对分区的需要还是必要的,因为它可以提高select效率,还可以对历史数据经行区分存档等。但是数据量少的数据就不要凑这个热闹啦,因为表分区会对数据库产生不必要的开销,除啦性能还会增加实现对象的管理费用和复杂性。 跟着做,分区如此简单 先跟着做一个分区表(分为11个分区),去除神秘的面纱,然后咱们再逐一击破各个要点要害。 分区是要把一个表数据拆分为若干子集合,也就是把把一个数据文件拆分到多个数据文件中,然而这些文件的存放可以依托一个文件组或这多个文件组,由于多个文件组可以提高数据库的访问并发量,还可以把不同的分区配置到不同的磁盘中提高效率,所以创建时建议分区跟文件组个数相同。 1.创建文件组 可以点击数据库属性在文件组里面添加 T-sql语法: alter database <数据库名> add filegroup <文件组名> ---创建数据库文件组 alter database testSplit add

Seeing “partition doesn't exist” warnings/failures after kafka using kafka partition re-assignment tool

喜欢而已 提交于 2020-01-13 10:15:10
问题 I am using kafka 0.8.1.1. I have a 3 node kafka cluster with some topics having around 5 partitions. I planned to increase the number of nodes to 5 in cluster and moving some partitions from existing topics to the new brokers. Previous partition state: broker1 : topic1 { partition 0 } broker2 : topic1 { partition 1,2} broker3 : topic1 { partition 3,4} New intended state: broker1 : topic1 { partition 0} broker2 : topic1 { partition 1} broker3 : topic1 { partition 3} broker4 : topic1 {

ROW_NUMBER() OVER()函数用法;(分组,排序),partition by

℡╲_俬逩灬. 提交于 2020-01-13 02:50:34
1、row_number() over()排序功能: (1) row_number() over()分组排序功能: 在使用 row_number() over()函数时候,over()里头的分组以及排序的执行晚于 where group by order by 的执行。 partition by 用于给结果集分组 ,如果没有指定那么它把整个结果集作为一个分组,它和聚合函数不同的地方在于它能够返回一个分组中的多条记录,而聚合函数一般只有一个反映统计值的记录。 例如:employee,根据部门分组排序。 SELECT empno,WORKDEPT,SALARY, Row_Number() OVER (partition by workdept ORDER BY salary desc) rank FROM employee -------------------------------------- 000010 A00 152750 1 000110 A00 66500 2 000120 A00 49250 3 200010 A00 46500 4 200120 A00 39250 5 000020 B01 94250 1 000030 C01 98250 1 000130 C01 73800 2 (2)对查询结果进行排序:(无分组) SELECT empno,WORKDEPT

sql server 增加分组序号

て烟熏妆下的殇ゞ 提交于 2020-01-13 00:29:25
SQL2000自制row_number SELECT (SELECT COUNT(*) FROM main1 p1 WHERE p1.编号 <= p2.编号) AS rowNumber, * FROM main1 p2 ORDER BY 编号 很简单,但是数据量大的时候会十分的消耗性能 sql server2005以后 ROW_NUMBER() OVER()函数用法详解 (分组排序 例子多) 原创置顶 一彡十 最后发布于2018-09-18 19:11:38 阅读数 92385 收藏 展开 和彡十一起学java 学习分享专栏 一彡十 ¥9.90 去订阅 语法格式:row_number() over(partition by 分组列 order by 排序列 desc) row_number() over()分组排序功能: 在使用 row_number() over()函数时候,over()里头的分组以及排序的执行晚于 where 、group by、 order by 的执行。 例一: 表数据: create table TEST_ROW_NUMBER_OVER( id varchar(10) not null, name varchar(10) null, age varchar(10) null, salary int null ); select * from TEST

linux添加硬盘分区挂载教程

霸气de小男生 提交于 2020-01-12 12:40:45
基本步骤:分区——格式化——挂载——写入文件 1、首先用fdisk -l命令查看添加的硬盘名称,可以看到sdb为新增的硬盘 [root@oracle ~]# fdisk -l Disk /dev/sdb: 21.5 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Disk /dev/sda: 21.5 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk

Linux硬盘分区和格式化

ぃ、小莉子 提交于 2020-01-12 05:44:27
分区与格式化 先用fdisk分区,分区完成后再用mkfs格式化并创建文件系统,挂载,磁盘就能使用啦。 分区的原理: MBR:主引导扇区 主分区表:64bytes,最多只能分四个主分区,每个主分区的记录(相关信息,比如分区大小,位置)在主分区表里占14bytes。 如 果要建多于四个的分区,就要拿出一个主分区做为扩展分区,再在扩展分区里面进行其它的分区操作。在 建扩展分区的时候会建立一张对应的扩展分区表,它记录了在这个扩展分区里的分区的相关信息;理论上它没有分区数量的限制,在扩展分区内部的分区叫做逻辑分 区,如上图中的 /dev/hda5,/dev/hda6/,/dev/hda7 格式化原理: 在 分好区后,分区里面是空的,没有任何东西。为了能让OS识别,就必须要向分区里写入相应格式的数据。比如windows的 FAT32,NTFS;Linux的ext2,ext3,ext4(目前ext3格式的用的比较多,ext4还在实验之中,在新的Fedora上使用的就 是ext4的文件系统)。 Windows/dos常用的分区工具:fdisk/partition magic/diskpart Linux下常用的分区工具: fdisk/sfdisk:命令行工具,各种版本和环境都能使用,包含在软件包util-linux中 diskdruid:图形化分区工具,只能在安装REDHAT系统时使用。

内存置换空间(swap)之建置

巧了我就是萌 提交于 2020-01-12 03:51:11
内存置换空间(swap)之建置 安装时一定需要的两个 partition 啰! 一个是根目录,另外一个就是 swap(内存置换空间), swap 的功能就是在应付物理内存不足的情况下所造成的内存延伸记录的功能。 一般来说,如果硬件的配备足够的话,那么 swap 应该不会被我们的系统所使用到, swap 会被利用到的时刻通常就是物理内存不足的情况了。我们知道 CPU 所读取的数据都来自于内存, 那当内存不足的时候,为了让后续的程序可以顺利的运行,因此在内存中暂不使用的程序与数据就会被挪到 swap 中了。 此时内存就会空出来给需要运行的程序加载。由于 swap 是用硬盘来暂时放置内存中的信息, 所以用到 swap 时,你的主机硬盘灯就会开始闪个不停啊! 虽然目前(2009)主机的内存都很大,至少都有 1GB 以上啰!因此在个人使用上你不要配置 swap 应该也没有什么太大的问题。 不过服务器可就不这么想了~由于你不会知道何时会有大量来自网络的要求,因此你最好能够预留一些 swap 来缓冲一下系统的内存用量! 至少达到『备而不用』的地步啊! 现在想象一个情况,你已经将系统创建起来了,此时却才发现你没有建置 swap ~那该如何是好呢? 透过本章上面谈到的方法,你可以使用如下的方式来创建你的 swap 啰! 配置一个 swap partition 创建一个虚拟内存的文件 不啰唆