partition

1、kafka概述

有些话、适合烂在心里 提交于 2019-11-28 05:32:50
一、关于消息队列 消息队列是一种应用间的通信方式,消息就是是指在应用之间传送的数据,它也是进程通信的一种重要的方式。 1.消息队列的基本架构 producer:消息生产者。 broker:消息处理中心。 consumer:消息消费者 2.消息队列常用场景 系统之间的解耦。 高并发下的流量消峰(电商抢购活动)。 异步通信(串行变并行)。 3.消息队列的特点 基本上都基于生产者消费者模式。 必须保证数据的可靠性传输。 4、点对点消息系统 在点对点系统中,消息被保留在队列中。 一个或多个消费者可以消耗队列中的消息,但是特定消息只能由最多一个消费者消费。 一旦消费者读取队列中的消息,它就从 该队列中消失。 5、发布 - 订阅消息系统 在发布 - 订阅系统中,消息被保留在主题中。 与点对点系统不同,消费者可以订阅一个或多个主题并使用该主题中的所有消息。 6、为什么需要消息队列 1、解耦 允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束。 2、冗余 消息队列把数据进行持久化直到它们已经被完全处理,通过这一方式规避了数据丢失风险。许多消息队列所采用的"插入-获取-删除"范式中,在把一个消息从队列中删除之前, 需要你的处理系统明确的指出该消息已经被处理完毕,从而确保你的数据被安全的保存直到你使用完毕。 3、扩展性 因为消息队列解耦了你的处理过程

oracle表空间表分区详解(转)

老子叫甜甜 提交于 2019-11-28 05:05:05
oracle表空间表分区详解(转) 此文从以下几个方面来整理关于分区表的概念及操作: 1.表空间及分区表的概念 2.表分区的具体作用 3.表分区的优缺点 4.表分区的几种类型及操作方法 5.对表分区的维护性操作. 表空间及分区表的概念 表空间:是一个或多个数据文件的集合,所有的数据对象都存放在指定的表空间中,但主要存放的是表, 所以称作表空间。 分区表:当表中的数据量不断增大,查询数据的速度就会变慢,应用程序的性能就会下降,这时就应该考虑对表进行分区。表进行分区后,逻辑上表仍然是一张完整的表,只是将表中的数据在物理上存放到多个表空间(物理文件上),这样查询数据时,不至于每次都扫描整张表。 表分区的具体作用 Oracle的表分区功能通过改善可管理性、性能和可用性,从而为各式应用程序带来了极大的好处。通常,分区可以使某些查询以及维护操作的性能大大提高。此外,分区还可以极大简化常见的管理任务,分区是构建千兆字节数据系统或超高可用性系统的关键工具。 分区功能能够将表、索引或索引组织表进一步细分为段,这些数据库对象的段叫做分区。每个分区有自己的名称,还可以选择自己的存储特性。从数据库管理员的角度来看,一个分区后的对象具有多个段,这些段既可进行集体管理,也可单独管理,这就使数据库管理员在管理分区后的对象时有相当大的灵活性。但是,从应用程序的角度来看,分区后的表与非分区表完全相同,使用 SQL

马哥Linux——第四周作业

妖精的绣舞 提交于 2019-11-28 03:32:49
1、新建用户archlinux,要求其家目录为/users/archlinux,而后su切换至archlinux用户,复制/etc/pam.d目录至自己的家目录 创建主目录/users/ [root@centos7 ~]#mkdir /users 创建用户,并指定家目录 [root@centos7 ~]#useradd archlinux -d /users/archlinux 切换用户 [root@centos7 ~]#su archlinux 复制 [archlinux@centos7 ~]$cp -a /etc/pam.d/ /users/archlinux/ 2、创建一个至少有两个PV组成的大小为20G的名为testvg的VG;要求PE大小为16MB,而后在卷组中创建大小为5G的逻辑卷testlv;挂载至/users目录 创建两个10G,且类型为LVM的分区 [root@centos7 ~]#fdisk /dev/sda Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help): n All

Dynamic partition cannot be the parent of a static partition '3'

独自空忆成欢 提交于 2019-11-28 01:52:52
问题 While inserting data into table hive threw the error "Dynamic partition cannot be the parent of a static partition '3'" using below query INSERT INTO TABLE student_partition PARTITION(course , year = 3) SELECT name, id, course FROM student1 WHERE year = 3; Please explain the reason.. 回答1: The reason of this Exception is because partitions are hierarchical folders. course folder is upper level and year is nested folders for each year. When you creating partitions dynamically, upper folder

链表快排

与世无争的帅哥 提交于 2019-11-28 01:31:40
链表快排是在面试中比较容易遇到的问题。这里介绍其两种解法。 解法一:   基于值的交换法。由于对于链表结点的交换,涉及到指针的操作,比较复杂。所以首先先到不改变结点,而改变结点中的值。   通常我们的快排是基于partition的思想进行,通过一次partition,将数组分为两部分,左半部分均小于枢纽元素,右半部分均大于枢纽元素。这个partition的操作,需要两个指针,分别指向头尾。先从尾指针开始操作,找到第一个小于枢纽元素的元素位置,交换头指针元素和当前尾指针元素。之后从头指针往后遍历,找到第一个大于枢纽元素的元素位置,同样和前一步一样做交换操作。那么和数组的处理方式不同的是,链表只支持从前向后遍历。所以这里修改了两个指针的位置,头指针不变,而尾指针指向头指针的下一位,每一次都去判断尾指针所值元素和枢纽元素的大小,当小于枢纽元素时,此时头指针后移一位,和头指针所值结点交换值。尾指针后移。这样的操作保证了头指针及其之前的结点值的大小总是小于等于枢纽元素,而头指针后到尾指针之间的结点值总是大于枢纽值。最后在尾指针遍历到链表最后一个结点时,交换头指针所指结点值和初始的开始位置的结点的值。此时返回的头指针即为partition需要返回的中间值位置。 代码: 1 struct Node{ 2 int val; 3 Node* next; 4 Node(int value){ 5

hive命令7

天大地大妈咪最大 提交于 2019-11-28 00:47:12
1.重命名分区 alter table ids partition (datestamp=‘2016-05-31’) rename to partition (datestamp=‘31-05-2016’); show partitions ids; datestamp=2016-05-30 (修改前) datestamp=31-05-2016 (修改后) 2.修改列–添加列 在schema-on-read架构上,有一个关键需求,就是要能够修改模式或表的元数据。 用户可以在表上定义各种类型的元数据,而且修改这些元数据时,不需要担心修改 底层数据(只对外部表)。 alter table retail.transactions add columns (loyalty_card boolean); 新列将被添加到当前列之后、分区列之前。分区列的值来自于分区定义,并不是 存放在数据文件本身之中,也不在create table命令中列的列表之中。 虽然实际上分区列并没有嵌入到数据本身之中,但是当你执行select * 语句时,分区列 总是会出现在列的列表的最后。 3.删除表 drop table 删除 hive 表时,表的元数据也会被删除 然而,hive 中的删除:我们只需要删除 受控表 中的数据 如果配置/etc/hadoop/conf/core-site.xml中的fs.trash

好程序员大数据学习路线分享hive分区和分桶

最后都变了- 提交于 2019-11-28 00:42:25
好程序员大数据学习路线分享hive分区和分桶,hive分区 1. 为什么要分区?? 当单个表数据量越来越大的时候, hive查询通常会全表扫描,这将会浪费我们不关心数据的扫描,浪费大量时间。从而hive引出分区概念partition 2. 怎么分区?? 看具体业务,能把一堆数据拆分成多个堆的数据就可以。 通常使用 id 、 年 、 月 、天 、区域 、省份、 hive分区和mysql分区的区别?? mysql的分区字段采用的表内字段。 hive的分区字段使用的是表外字段。 3.hive 分区细节?? 1、分区本质是在该表下创建对应的目录。 2、分区名大小写不区分,建议不要使用中文。 3、可以查询分区信息。但是我们的分区字段相当于是一个伪字段,在元数据中存在,但是不真实存在数据内容中。 4、加载数据时要指定分区 4. 分区操作 创建一级分区表: create table if not exists day_part( uid int, uname string ) partitioned by(year int) row format delimited fields terminated by '\t' ; load data local inpath '/root/Desktop/student.txt' into table day_part partition(year

详解boot.ini文件

时光总嘲笑我的痴心妄想 提交于 2019-11-27 23:13:09
  (1)timeout=5   在你选择默认操作系统之前,“timeout”表示在NTLKR加载默认的操作系统之前可供用户从启动加载程序画面选择操作系统的秒数,如果该值为0,则NTLDR将不显示加载程序画面,而直接启动默认的操作系统,其实它也就是前面所提到的“显示操作系统列表的时间”框。默认值是30秒,这里笔者已经将之调整为5秒。   (2)Default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS   Default当然是指默认(缺省)的意思,也就是系统默认要加载的那个操作系统路径,即系统启动时等待你选择的高亮条部分。但可能有很多朋友对multi(0)、disk(0)、rdisk(0)、partition(1)这些名称很不理解,其实在Windows中,这涉及到ARC的一些知识:   ARC是x86或RISC计算机中用于标识设备的一种动态方法,ARC命名的第一部分是用于标识硬件适配卡/磁盘控制器,典型的ARC名字的构成结构如下所示:   component(x)disk(y)rdisk(z)partition(a)   这里的“component”字段一般只有两种有效值:scsi和multi,代表设备的硬件适配器。scsi当然是指SCSI磁盘,multi则是指除SCSI之外的其它磁盘接口。“x”代表适配器的序号,第一个为0,第二个为1

Boot.ini

浪尽此生 提交于 2019-11-27 23:12:07
编辑 Boot.ini 文件要查看和编辑 Boot.ini 文件,请按照下列步骤操作: 右键单击“我的电脑”,然后单击“属性”。 - 或 - 单击“开始”,单击“运行”,键入 sysdm.cpl,然后单击“确定”。 在“高级”选项卡上,单击“启动和故障恢复”下的“设置”。 在“系统启动”下,单击“编辑”。 回到顶端示例 Boot.ini 文件这是安装了 Windows XP Professional 的计算机中的默认 Boot.ini 文件的一个示例: [boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect 这是先前在单独的分区中安装的 Windows 2000 附带的上述 Boot.ini 文件的一个示例。 [boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition

Kafka

ε祈祈猫儿з 提交于 2019-11-27 22:28:30
为什么要有Kafka? 在目前流量越来越大的时代,很多时候我们的服务器资源是没有利用到的,而是在某一瞬间才利用到这个资源,而这一瞬间正是服务器流量的高峰期,而如果没有先弄多几台服务器加强集群的性能,可能就在那一刻就挂了。 Kafka就是将这些流量进行一个排队缓存,一个一个来,相当于一个保安维护好整个秩序。 什么是kafka? Kafka是由LinkedIn使用Scala开发的,而后很多Api使用Java来写,并捐给了Apache并开源。 Kafka是一个分布式消息队列,为了处理实时数据提供一个统一、高通量、低等待的平台,通常在流式计算中Kafka用来缓存数据,Storm消费Kafka的数据进行计算。 Kafka对消息保存时是根据Topic(主题)进行归类的,发送消息者称为Producer(生产者),消息接收者称为Consumer(消费者),此外Kafka集群中有多个Kafka实例组成,就是多个服务器,每个实例称为broker(经纪人)。 Kafka集群时依赖Zookeeper来保存一些元数据信息,从而保证系统的可用性。 组成 Broker : 一台Kafka服务器就是一个broker。 一个集群可以由多个broker组成。 一个broker可以容纳多个Topic。 Partition( 分区): 为了实现扩展性,一个非常大的Topic可以分布到多个Broker上