partition

KafkaConsumer 长时间地在poll(long )方法中阻塞

大憨熊 提交于 2020-03-03 02:16:36
一,问题描述 搭建的用来测试的单节点Kafka集群(Zookeeper和Kafka Broker都在 同一台Ubuntu 上),在命令行下使用: ./bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 3 --topic topicForTest 创建了一个3个分区的Topic如下:(Topic名称为 topicForTest) 使用 Console producer/consumer都能够正常地向topicForTest发送和接收消息: bin/kafka-console-producer.sh --broker-list localhost:9092 --topic topicForTest bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic topicForTest --from-beginning 但是在自己的windows 机器的开发环境下,使用kafka client JAVA API (0.10版本)中的KafkaConsumer 却无法接收消息,表现为:在poll()方法中阻塞了。 更具体一点地,是在:org.apache.kafka

Spark之RDD

允我心安 提交于 2020-03-02 22:58:43
一、什么是RDD RDD(Resilient Distributed Dataset)叫做 弹性分布式数据集 , 是Spark中最基本的数据抽象 ,它代表一个不可变、可分区、里面的元素可并行计算的集合。RDD具有数据流模型的特点:自动容错、位置感知性调度和可伸缩性。RDD允许用户在执行多个查询时显式地将工作集缓存在内存中,后续的查询能够重用工作集,这极大地提升了查询速度。 1.1 RDD属性 (1)Partition 即数据集的基本组成单位。对于RDD来说,每个分片都会被一个计算任务处理,并决定并行计算的粒度。用户可以在创建RDD时指定RDD的分片个数,如果没有指定,那么就会采用默认值。默认值就是程序所分配到的集群的CPU Core的总数目。 (2)一个计算每个分区的函数。 Spark中RDD的计算是以分片为单位的,每个RDD都会实现compute函数以达到这个目的。compute函数会对迭代器进行复合,不需要保存每次计算的结果。 (3)RDD之间的依赖关系。 RDD的每次转换都会生成一个新的RDD,所以RDD之间就会形成类似于流水线一样的前后依赖关系。在部分分区数据丢失时,Spark可以通过这个依赖关系重新计算丢失的分区数据,而不是对RDD的所有分区进行重新计算。 (4)一个Partitioner,即RDD的分片函数。控制分区数和分区策略 当前Spark中实现了两种类型的分片函数

java基础之----kafka

荒凉一梦 提交于 2020-03-02 19:01:46
概述 听到这个名字是不是很熟悉,没错这个名字就是文学家卡夫卡的英文,传说中国的王小波也被誉为东方的乔伊斯+卡夫卡,哈哈哈,当然这篇文章不是谈论文学家卡夫卡的,那为什么一个消息中间件叫kafka呢?很简单就是这个中间件的作者喜欢卡夫卡,所以就这么命名了,如果有一天你也写出来一个牛逼的软件,而且你也很喜欢王小波,那你可以命名为xiaobo,没人可以拦得住你。 kafka架构 先上图(开篇一张图,内容全靠编) kafka broker : 从图中可以看出,这家伙是喜欢搞黄色的^_^,其实broker是kafka的基础存储单位,kafka所谓的分布式完全由多个broker一起组成的。 Topic :这个图中没有体现,不过很简单,所谓的Topic就是消息,每个种类的消息都有一个topic,这就像你在数据库中要给学生建立一张表,给老师建立一张表一样。 Partition :这个图中也没有体现,不过也很简单,有了Topic,你肯定要把Topic存储到broker中吧,既然broker有好多,那你不可能把一个Topic都存到一个broker里面吧,就像一个皇帝,怎么说也要做到雨露均沾,当然了,真实的原因并不是因为Topic喜欢瞎搞,而是因为这样可以提高吞吐量,一个节点肯定没有多个节点一起处理处理的快啊。那既然要分开存储就有了partition的概念

转-Xenserver实际案例问题分享

我与影子孤独终老i 提交于 2020-03-02 18:40:06
from: http://wenku.baidu.com/view/602693573c1ec5da50e2702b.html 1.不能删除POOL里面的虚拟机,如何解决? 选中不能删除的虚拟机所在的物理机,在console下输入 #xe host-forget uuid= uuid的信息使用#xe host-list查看 查看虚拟机详细信息 xe vm-list params=all/(name-label,uuid,networks) 关闭虚拟机 xe vm-shutdown uuid=<vm_uuid>ext3-fs error (device xvda2) in start_transaction: journal has aborted 关闭halted/running虚拟机 xe vm-reset-powerstate force=true vm=uuid 删除虚拟机 xe vm-destroy uuid=<vm_uuid> 2.增加LVM根分区容量? fdisk /dev/xvda Command (m for help): d Partition number (1-4): 2 Command (m for help): n primary partition (1-4) p Partition number (1-4): 2 First cylinder (14

Hadoop 中的数据倾斜

淺唱寂寞╮ 提交于 2020-03-02 13:11:46
最近几次被问到关于数据倾斜的问题,这里找了些资料也结合一些自己的理解. 在并行计算中我们总希望分配的每一个task 都能以差不多的粒度来切分并且完成时间相差不大,但是集群中可能硬件不同,应用的类型不同和切分的数据大小不一致总会导致有部分任务极大的拖慢了整个任务 的完成时间,硬件不同就不说了,应用的类型不同其中就比如page rank 或者data mining 里面一些计算,它的每条记录消耗的成本不太一样,这里只讨论关于关系型运算的(一般能用SQL表述的) 数据切分上的数据倾斜问题. hadoop 中数据倾斜会极大影响性能的一个背景是mapreduce 框架中总是不分条件的进行sort . 在通用情况下map sort + partition +reduce sort 可以得到结果,但是这个过程不一定是最优的. 对于关系型计算,其中数据倾斜影响最大的地方在reduce 的sort , reduce 处理的数据量的大小如果超过给定的reduce jvm 的大小的2倍不到的阈值的时候(这个阈值是我猜测的,具体以实际监控运行情况为准),reduce 端会发生multi-pass merge sort 的情况, 这个时候观察这些运行较慢的reduce task 的metrics 会发现reduce 跟IO 相关的metrics 会比其他reduce 大很多. 具体的细节参考今年hadoop

SqlServer2005 海量数据 数据表分区解决难题

拜拜、爱过 提交于 2020-03-02 12:38:37
转自: http://landmine.javaeye.com/blog/519101 今天遇到难题公司做股票交易系统数据量比较大光备份文件从03-09年就有500G 虽然现在硬盘换到1500GB 但要解决怎样将这些年的数据都附加到一个数据库当中很是头痛 在网上泡了一天终于找到比较理想的方案,希望有所帮助 超大型数据库的大小常常达到数百 GB ,有时甚至要用 TB 来计算。而单表的数据量往往会达到上亿的记录,并且记录数会随着时间而增长。这不但影响着数据库的运行效率,也增大数据库的维护难度。除了表的数据量外,对表不同的访问模式也可能会影响性能和可用性。这些问题都可以通过对大表进行合理分区得到很大的改善。当表和索引变得非常大时,分区可以将数据分为更小、更容易管理的部分来提高系统的运行效率。如果系统有多个 CPU 或是多个磁盘子系统,可以通过并行操作获得更好的性能。所以对大表进行分区是处理海量数据的一种十分高效的方法。本文通过一个具体实例,介绍如何创建和修改分区表,以及如何查看分区表。 1 SQL Server 2005 SQL Server 2005 是微软在推出 SQL Server 2000 后时隔五年推出的一个数据库平台,它的数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使用户可以构建和管理用于业务的高可用和高性能的数据应用程序。此外 SQL Server

SqlServer2005 海量数据 数据表分区解决难题

喜夏-厌秋 提交于 2020-03-02 12:38:21
今天遇到难题公司做股票交易系统数据量比较大光备份文件从03-09年就有500G 虽然现在硬盘换到1500GB 但要解决怎样将这些年的数据都附加到一个数据库当中很是头痛 在网上泡了一天终于找到比较理想的方案,希望有所帮助 超大型数据库的大小常常达到数百 GB ,有时甚至要用 TB 来计算。而单表的数据量往往会达到上亿的记录,并且记录数会随着时间而增长。这不但影响着数据库的运行效率,也增大数据库的维护难度。除了表的数据量外,对表不同的访问模式也可能会影响性能和可用性。这些问题都可以通过对大表进行合理分区得到很大的改善。当表和索引变得非常大时,分区可以将数据分为更小、更容易管理的部分来提高系统的运行效率。如果系统有多个 CPU 或是多个磁盘子系统,可以通过并行操作获得更好的性能。所以对大表进行分区是处理海量数据的一种十分高效的方法。本文通过一个具体实例,介绍如何创建和修改分区表,以及如何查看分区表。 1 SQL Server 2005 SQL Server 2005 是微软在推出 SQL Server 2000 后时隔五年推出的一个数据库平台,它的数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使用户可以构建和管理用于业务的高可用和高性能的数据应用程序。此外 SQL Server 2005 结合了分析、报表、集成和通知功能。这使企业可以构建和部署经济有效的 BI 解决方案

hive 概览及dml语句

余生颓废 提交于 2020-03-02 12:27:41
Hive Tutorial 数据单元: 分区: 每一个表可以有一个或多个分区列,用来决定数据如何存储。分区不仅仅是存储单元,而且允许用户按照条件组织分类数据,分区键列中每一个不重复的值定义一个表的分区。分区可以极大的提高数据分析的速度。一个分区列就是一个伪列,所以分区列名可以自由设置, 分区列的名称不可以和表中某一实际列的名称相同。 Buckets(Clusters): 表中或每一个分区中的数据可以被分隔成多个Buckets,分隔方式是依据表中的一些列的hash值,这些列可以用clustered by指定,这些列中相同的值会被存储到同一个文件中,并且可以通过sorted by 设置排序列和排序方式,这样的文件就称为bucket。表级别可以有bucket,分区下面也可以有bucket,这个时候分区和表的概念可以认为相同。bucket的特点:一个bucket文件中的数据某一列的值相同,并且可以依据某一列有序,前提是buckets的数目要和clustered by指定的列可能的取值数相同(个人理解)。 数据类型: (包括各类型的长度,继承转化关系以及复杂类型构建) https://cwiki.apache.org/confluence/display/Hive/Tutorial 内置操作符和内置函数: 在beeline命令行中查看: show functions; 显示函数列表

sql server 分区表的一些操作

冷暖自知 提交于 2020-03-02 11:39:07
use fenqutest -------------------- -- 准备分区用的文件组、文件、分区函数、分区方案 --添加文件分组 ALTER DATABASE fenqutest ADD FILEGROUP [test2010] ALTER DATABASE fenqutest ADD FILEGROUP [test2011] ALTER DATABASE fenqutest ADD FILEGROUP [test2012] ALTER DATABASE fenqutest ADD FILEGROUP [test2013] --ALTER DATABASE fenqutest ADD FILEGROUP [test] --添加物理文件 ALTER DATABASE fenqutest ADD FILE (NAME = N'test2010',FILENAME = N'D:\sqlserver test\test2010.ndf',SIZE = 1MB,MAXSIZE = 10MB,FILEGROWTH = 1MB) TO FILEGROUP [test2010] -- ALTER DATABASE fenqutest ADD FILE (NAME = N'test2011',FILENAME = N'D:\sqlserver test\test2011.ndf',SIZE

SparkSQL | 窗口函数

佐手、 提交于 2020-03-02 07:42:30
窗口函数的定义引用一个大佬的定义: a window function calculates a return value for every input row of a table based on a group of rows。窗口函数与与其他函数的区别: 普通函数: 作用于每一条记录,计算出一个新列(记录数不变); 聚合函数: 作用于一组记录(全部数据按照某种方式分为多组),计算出一个聚合值(记录数变小); 窗口函数: 作用于每一条记录,逐条记录去指定多条记录来计算一个值(记录数不变)。 窗口函数语法结构: 函数名(参数)OVER(PARTITION BY 子句 ORDER BY 子句 ROWS/RANGE子句) 函数名: OVER: 关键字,说明这是窗口函数,不是普通的聚合函数; 子句 PARTITION BY: 分组字段 ORDER BY: 排序字段 ROWS/RANG窗口子句: 用于控制窗口的尺寸边界,有两种(ROW,RANGE) ROW: 物理窗口,数据筛选基于排序后的index RANGE: 逻辑窗口,数据筛选基于值 主要有以下三种窗口函数 ranking functions analytic functions aggregate functions 数据加载 from pyspark . sql . types import * schema =