中企动力 > 商学院 > 数据拆分
  • ?

    数据库水平拆分两点

    巴罗生特

    展开

    实践过程中,遇到 的水平分库分表的关键步骤以及可能存在的问题:

    分片:sharding,分布式全局id:Twitter的Snowflake(又名“雪花算法”);UUID/GUID(一般应用程序和数据库均支持);MongoDB ObjectID(类似UUID的方式);Ticket Server(数据库生存方式,Flickr采用的就是这种方式);

    注意,通常使用最频繁被使用或者最重要的字段来作为分片字段

    两种参见分片方式的利弊:

    连续分片:更适合支持范围查询,扩容只需添加节点无需对其他分片数据进行迁移;但是对于热数据节点(频繁查询压力较大),可能使热数据节点成为瓶颈随机分片:(离散分片----hash取模)不容易出现热点和并发访问的瓶颈,但是扩容起来需要迁移旧的数据;一致性Hash算法能够很大程度的避免这个问题;离散分片也很容易面临跨分片查询的复杂问题

  • ?

    Excel拆分单元格与把一个单元格内容拆分到多个单元格

    梦碎

    展开

    在 Word 中,可以把一个单元格拆分为多个单元格甚至拆分为一个表格;而Excel拆分单元格与Word不同,在Excel中,只能把合并后的单元格拆分。拆分方法有两种,一种是用“对齐方式”中的选项拆分,另一种在“设置单元格格式”窗口中拆分。另外,一次可以只拆分一个单元格,也可以批量拆分多个单元格。除拆分单元格外,还可以拆分单元格内容,即把一个单元格中的内容拆分到多个单元格,拆分内容可以数字、数字与字母组合、汉字词组等,但分隔符必须用半角而不能用全角。以下先介绍Excel拆分单元格的两种方法,再介绍拆分单元格内容的方法,操作中所用 Excel 版本为 2016。

    一、Excel拆分单元格

    (一)拆分一个单元格

    Excel未合并的单元格已经是最小的单元格,不能再拆分。现在,假如要把一个合并了四个单元格的单元格重新拆分为四个,方法如下:

    方法一:

    选中要拆分单元格,单击“开始”选项卡下的“合并后居中”下拉列表框,在弹出的选项中,选择“取消单元格合并”,则此单元格被重新拆分为四个单元格,点击“自动换行”后,效果更明显,操作过程步骤,如图1所示:

    图1

    方法二:

    右键要拆分的单元格,在弹出的菜单中选择“设置单元格格式”,打开该窗口,选择“对齐”选项卡,单击“合并单元格”把其前面的勾取消,单击“确定”,则选中单元格被重新拆分为四个,操作过程步骤,如图2所示:

    图2

    (二)批量拆分单元格

    1、选中要拆分的所有单元格,例如选中三个单元格,单击“开始”下的“合并后居中”,选择“取消单元格合并”,如图3所示:

    图3

    2、则选中的三个单元格同时被重新拆分为四个,为便于看到所有文字,把它们的对齐方式都设置为“左对齐”,如图4所示:

    图4

    二、Excel拆分单元格内容(把一个单元格的内容拆分到多列)

    1、选中要拆分内容的单元格,例如 A1,选择“数据”选项卡,单击“数据工具”上的“分列”,打开“文本分列向导”窗口,选择“请选择最合适的文件类型”下的“分隔符”,单击“下一步”;选择“分隔号”下面的“逗号”,单击“下一步”,最后单击“完成”,则选中单元格的内容被拆分到三个处于同行的单元格;操作过程步骤,如图5所示:

    图5

    2、上面拆分的是字母加数字组合成的文本,全是中文的内容也可以用此方法拆分,但有一点要注意,文字之间必须用半角标点符号(即英文标点),假如用逗号做分隔符,只用“,”不能用“,”。以下是一个拆分中文的实例:

    A、同样选中要拆分的单元格(如 A2),单击“数据”选项卡下的“分列”,打开“文本分列向导”窗口,如图6所示:

    图6

    B、单击“下一步”,像拆分 A1 单元格中的内容一样选择即可,拆分结果,如图7所示:

    图7

    C、“单元”二字被拆分到一个单元格,而“格式,符号”却没有被拆分到两个单元格;因为“单元”后用的是半角逗号,“格式,符号”中的是全角逗号,而全角逗号Excel无法识别不能作为分隔符。

  • ?

    excel数据拆分:将单列拆分成多列的几种方法

    Laura

    展开

    有时候我们的Excel表格里只有一列数据,如果需要打印出来的话,就是下面这样子的:

    浪费纸不说,还很丑,这样打印的表格你真的敢拿给老板看吗?

    对于这样的数据,就需要把一列平均分配到多列,通常有两种方法来实现,先来看看操作的方法:

    一、操作法将一列数据变成多列

    步骤1:先设计好需要拆分为几列,然后将标题手动做好;

    本例中计划拆分8列。

    步骤2:在c2单元格输入a2,向右拉,Excel会自动为我们填充到a9。

    步骤3:在c3单元格输入a10,向右拉;因为第一行已经到a9了,所以这一行就是a10开始,一直填充到a17。

    步骤4:选中两行一起下拉,假设有160个数据,每行8个,那么下拉20行就够了;

    步骤5:按Ctrl +h组合键打开查找和替换,查找内容为a,替换内容为=a,如下图所示;

    点击全部替换,确定,完成操作。

    步骤6:选择性粘贴为值可删除公式,数据居中加边框,设置打印预览,效果正是我们需要的;

    结论:

    1、如果不是每行8个,只需要调整第一次右拉的个数即可;

    2、操作法的优势是容易上手,更适合新手使用;

    3、但是操作法也有缺点,如果数据不断增加,那么每次都要这样操作也挺麻烦,因此还是需要了解一下公式的做法。

    二、公式法将一列数据变成多列

    还是用这个例子来说明,通常将一列变成多列会用到OFFSET函数,我们先来看看公式是什么样子的:

    =OFFSET($A$1,MOD(COLUMN(A1)+7,8)+ROW(A1)*8-7,)

    只需要将这个公式右拉下拉即可。

    OFFSET这个函数根据偏移量来得到一个新的引用(单元格或者区域)一共有五个参数,格式为:

    OFFSET(起始位置,行偏移量,列偏移量,高度,宽度)。

    本例中起始位置为A1单元格,因为数据源都在一列,并且都是单元格的引用,因此只需要确定行偏移量即可,可以看到公式里只用了两个参数,第二参数是

    MOD(COLUMN(A1)+7,8)+ROW(A1)*8-7。

    单独将这部分显示出来的效果是这样的:

    说通俗点,就是A1向下1行、2行……等等的单元格引用。

    关于这部分需要一点数列构造的基础,不理解的话可以记住套路,想学习数列的构造方法可以留言,我们会针对如何在公式中构造数列来单独讲解一次。

    结论:

    1、如果不是每行8个,只需要将第二参数中的数字7、8做对应调整,例如每行是6个数据的话,公式修改为:=OFFSET($A$1,MOD(COLUMN(A1)+5,6)+ROW(A1)*6-5,)

    2、公式法需要使用者有一定的经验,当数据源发生变化时调整起来非常灵活;拓展性较强。

    看到这里,估计有些伙伴会想:如果数据源不是一列,而是两列或者三列,该怎么办?

    实际上,两列或者三列的数据源在平时工作中更为常见,例如下面这种情况:

    数据源有三列,我们希望变成九列(三组),这样打印起来就非常合理。

    对于这种问题,使用方法1介绍的技巧来实现就比较困难了,还是利用OFFSET函数来处理。

    三、对于多列数据源的处理方法

    公式为:

    =OFFSET($A$1,INT(COLUMN(C1)/3)+ROW(A1)*3-3,MOD(COLUMN(C1),3))

    因为数据源不在同一列了,所以行偏移量和列偏移量都要考虑,因此用到了三个参数,第一参数起始位置还是A1;

    第二参数INT(COLUMN(C1)/3)+ROW(A1)*3-3代表引用数据相对于起始位置A1的行偏移量,单独看的话效果为:

    可以非常清楚的看到变化规律;

    第三参数MOD(COLUMN(C1),3)代表引用数据相对于起始位置A1的列偏移量,单独看的效果为:

    对于这种规律的掌控能力,决定了OFFSET这个函数的使用水平,也正是这个原因使得OFFSET函数令很多初学者摸不着头脑,学习起来始终不得要领。

    今天我们的主要目的并不是学习OFFSET函数,只是学习这个函数的一个应用,就本例来说,记下公式的套路,能够根据自己实际的问题去修改公式后解决问题就足够了。

    学好OFFSET的关键在于对第二和第三两个参数的构造。

    比如上面的问题,数据源是三列,希望变成四组(十二列),第二参数需要变成INT(COLUMN(C1)/3)+ROW(A1)*4-4

    对箭头所指的两个地方进行修改。

    而第三参数=MOD(COLUMN(C1),3)则无需调整;以此类推,只要数据源的列数不变,只需要调整上面提到的两个位置就行了。

    当数据源变成2列的时候,第二参数需要修改为INT(COLUMN(B1)/2)+ROW(A1)*3-3

    还是修改两个位置,C改为B,3改为2,

    同时第三参数列偏移量也要修改:

    =MOD(COLUMN(B1),2)

    也是修改两个地方,C改为B,3改为2。

    以此类推,如果数据源变成4列,则分别修改B为D,2为4。

    通过以上解释,基本可以理解如何根据实际需要去调整公式的对应内容就可以了。要想彻底弄明白这里的奥妙,数列的构造方法是绕不过去的一道坎。

    让我们一起加油学习Excel中那些有趣又实用的技能吧!

    ****部落窝教育-excel单列拆分成多列****

    原创:老菜鸟/部落窝教育(未经同意,请勿转载)

  • ?

    阿里P8架构师谈:架构设计之数据库垂直、水平拆分六大原则

    海陵客

    展开

    数据拆分前其实是要首先做准备工作的,然后才是开始数据拆分,我先讲拆分前需要做的事情:

    第一步:采用分布式缓存redis、memcached等降低对数据库的读操作。第二步:如果缓存使用过后,数据库访问量还是非常大,可以考虑数据库读、写分离原则。第三步:当我们使用读写分离、缓存后,数据库的压力还是很大的时候,这就需要使用到数据库拆分了。数据库拆分原则:就是指通过某种特定的条件,按照某个维度,将我们存放在同一个数据库中的数据分散存放到多个数据库(主机)上面以达到分散单库(主机)负载的效果。

    第一步,首选垂直拆分

    一个数据库由很多表的构成,每个表对应着不同的业务,垂直切分是指按照业务将表进行分类,分布到不同的数据库上面,这样也就将数据或者说压力分担到不同的库上面 。

    比如淘宝中期开始的数据库端按照业务垂直拆分:按照业务交易数据库、用户数据库、商品数据库、店铺数据库等进行拆分。

    采用垂直拆分优点:1. 拆分后业务清晰,拆分规则明确。2. 系统之间整合或扩展容易。3. 数据维护简单。缺点:1. 部分业务表无法join,只能通过接口方式解决,提高了系统复杂度。2. 受每种业务不同的限制存在单库性能瓶颈,不易数据扩展跟性能提高。3. 事务处理复杂。

    第二步:其次才是水平拆分

    水平拆分的典型场景就是大家熟知的分库分表。

    垂直拆分后遇到单机瓶颈,可以使用水平拆分。相对于垂直拆分的区别是:垂直拆分是把不同的表拆到不同的数据库中,而水平拆分是把同一个表拆到不同的数据库中。

    相对于垂直拆分,水平拆分不是将表的数据做分类,而是按照某个字段的某种规则来分散到多个库之中,每个表中包含一部分数据。简单来说,我们可以将数据的水平切分理解为是按照数据行的切分,就是将表中 的某些行切分到一个数据库,而另外的某些行又切分到其他的数据库中。

    分库分表需要涉及到对应的SQL路由规则主库备库等,例如:淘宝设计了一套TDDL来解决这些问题,应用端只需配置对应的规则即可,对应用端的没有任何侵入的设计。

    水平拆分,总之,一般先分库,如果分库后查询仍然慢,于是按照分库的思想开始做分表的工作数据库采用分布式数据库(所有节点的数据加起来才算是整体数据),文件系统采用分布式文件系统任何强大的单一服务器都满足不了大型系统持续增长的业务需求,数据库读写分离随着业务的发展最终也将无法满足需求,需要使用分布式数据库及分布式文件系统来支撑。

    总结,数据库拆分原则:

    1.优先考虑缓存降低对数据库的读操作。

    2.再考虑读写分离,降低数据库写操作。

    3.最后开始数据拆分,切分模式: 首先垂直(纵向)拆分、再次水平拆分。

    4.首先考虑按照业务垂直拆分。

    5.再考虑水平拆分:先分库(设置数据路由规则,把数据分配到不同的库中)

    6.最后再考虑分表,单表拆分到数据1000万以内。

    优知学院 (youzhixueyuan ) IT人升职加薪进阶站,BAT总监经验分享平台。分享BAT:面试题目、架构师、CTO进阶干货!

  • ?

    Excel函数公式:超级实用的数据拆分、合并方法,你必需拥有

    隐藏

    展开

    实际工作中,经常会遇到拆分数据或合并数据的情况,例如前期输入错误,后期拆分整理的时候,如果没有一个搞笑的方法,就会很累。那么,关于数据拆分、合并究竟有那些神技了?

    一、巧用【分列】,拆分数据。

    方法:

    1、选定数据源。

    2、【数据】-【分列】-选择【分割符号】-【下一步】-选择分割符号中的【其它】并输入数据源中的分割符号-【完成】-【确定】。

    二、巧用Ctrl+E,合并、拆分数据。

    1、合并数据

    方法:

    1、数据一行合并数据。

    2、选定所有目标单元,包括第一行手动输入的合并数据。

    3、Ctrl+E。

    2、拆分数据

    方法:

    1、选定目标单元格,输入姓名或手机号。

    2、选定姓名或手机号所在的全部目标单元格(包括第一次输入的内容)。

    3、快捷键:Ctrl+E拆分数据。

  • ?

    超好用!总表新增数据,自动拆分到分表!

    Lewis

    展开

    这是昨天案例的数据源,继续聊数据透视表。

    强调一下,这份数据源已经插入了表格,所以可以直接使用切片器等等操作。如果是普通的数据,需要插入表格。

    插入表格这个功能妙用多多,但却被大多数人忽视。

    今天,想再次刷新你的认知,没错,就是这么自信!这里面涉及到的功能,你可能看过,但是完整的教程,99%的人都没看过。

    Step 01 选择A1,插入数据透视表,保持默认不变,确定。

    Step 02 将客户拉到筛选,产品名称拉到行,数量和金额(元)拉到值。

    Step 03 点击(全部)这个单元格,再点击分析→显示报表筛选页。

    Step 04 点击确定。

    这样就按客户名称,统计并拆分成多个表格。

    假设现在客户名称4个已经定下来了,现在希望达到的效果是:只要在总表新增数据,分表就自动更新统计。

    拆分已经实现,剩下的就是自动更新统计。

    Step 05 右键Excel不加班这个工作表,点击查看代码。

    Step 06 双击ThisWorkbook,将自动刷新代码粘贴进去,关闭窗口。

    Private Sub Workbook_SheetActivate(ByVal Sh As Object)ActiveWorkbook.RefreshAllEnd Sub

    Step 07 在总表新增加一条客户为Excel不加班的记录。

    Step 08 切换到Excel不加班这个表,立马可以看到新增加的记录。

    好用吗?

    神奇吗?

    Step 09 所有使用VBA的工作簿,都需要另存为启用宏的工作簿。

    插入表格起到了获取动态数据源的作用,VBA起到了自动刷新的作用,缺一不可!

    缺陷:这个方法唯一的不足,就是新增加其他客户,不会自动生成新的工作表,只对原来已经生成的客户工作表有效。

  • ?

    拆分合并单元格并填充数据,只要这3步!

    琉璃

    展开

    在处理EXCEL表格中

    一般为了数据表

    美观和直观

    很多朋友都会使用

    “合并单元格”

    将相同内容的单元格数据合并

    虽然合并

    对数据进行了整合

    让数据表更好看了

    但是

    合并后的数据表格

    破坏了其原有的完整性

    并不利于后期的数据分析

    比如

    当你想对数据进行筛选时

    它会弹出这样的对话框

    所以这时

    我们就要把合并的单元格

    重新拆分并填充上数据

    那么

    要怎么快速的实现呢

    跟着小编一起来看看吧

    小编就以下列表格为例

    选中数据区域【A1:D16】

    点击【开始】—【合并后居中】

    —【取消单元格合并】

    将表中的所有合并单元格取消

    取消后效果如下

    按快捷键【F5】

    弹出【定位】对话框

    点击【定位】框中的【定位条件】

    在【定位条件】中选择【空值】

    点击确定

    确定后效果如下

    在编辑栏中输入【=↑】

    同时按下【CTRL+ENTER】键

    自动填充空白

    最终效果如下

    这样

    我们就将合并单元格

    重新进行了拆分

    并且填充了数据

    对比如下

    其实

    这整一个分解的过程

    是非常简单的

    我们可以把它归纳为三步

    取消合并单元格

    F5定位空白单元格

    空白单元格上编辑【=↑】

    并按【CTRL+ENTER】键填充

    这样一看

    是不是就非常简单了

    所以

    这个技能

    你们都get到了吗

    最后

    小编想说一句

    合并需谨慎

    有用的才是最好的哟

    心事留言,小编答你

  • ?

    Excel | 巧用数据透视表快速拆分工作表

    乔晓蓝

    展开

    第一步:插入数据透视表

    1.鼠标放在数据区,插入数据透视表,如下图:

    2.因为只是拆分工作表,不进行计算,所以此处“值”区域空白,如下图:

    第二步:设计数据透视表

    不显示分类汇总,如下图:

    2.以表格形式显示数据,如下图:

    3.显示报表筛选页,如下图:

    4.筛选页字段为区域,如下图:

    第三步:拆分完成

    1.拆分成四个按地区独立显示的工作表,如下图:

    2.以数据透视表拆分方式拆分的工作表显示为数据透视表格式,如果想以表格形式显示数据,可以双击数据透视表右下角单元格,如下图:

    3.以表格形式显示数据,如下图:

  • ?

    Excel如何拆分单元格内容?用这功能轻松搞定

    安尧

    展开

    有时我们在处理Excel表格数据的时候,会遇到汉字和数字在一个单元格中。为了统计方便,有时要把单元格拆分成两个,如果数据少还能用剪切再粘贴的方法。如果数据多,这个方法很浪费时间,还容易出错。今天我们就来学习Excel拆分单元格的功能,轻松搞定上面的需求。

    表格数据一般有两种情况,一种是如内容"我的2000" 称为固定宽度;还有一种用分隔符隔开的数据形式如"我的-2000",我们分开讲解。

    一、固定宽度的数据拆分

    1、表格原始数据,汉字+数字

    2、选择如下数据

    3、选择菜单--数据分列

    4、选择固定宽度

    5、这步是重点,建立分列线:在数据预览处“的”右上方单击鼠标就可以建立箭头向上的分列线,分列线的作用是将数据拆分。备注:如要清除分列线双击分列线可以清除;如要移动分列线,按住分列线并拖动到指定位置即可。

    6、列数据格式默认常规,目标区域选默认$A$1

    7、当点击完成,就出现下列我们需要的汉字和数字分开的表格

    二、分隔符形式的数据拆分

    1、表格原始数据汉字-数字形式

    2、选中如下数据

    3、选择数据菜单-分列

    4、选择分隔符

    5、分隔符号,选其他,输入 -

    6、列数据格式默认常规,目标区域默认$A$1

    7、点击完成后,表格就被拆分两部分。我们发现,使用分隔符后同时实现了不是固定宽度的数据拆分

    总结:Excel固定宽度拆分和带分隔符数据的拆分,我们可以根据实际情况选用,赶紧试试吧。

    本百家号:时代新生分享工作、生活、技能方面的经验,愿和您一起成长。请多多收藏或关注哦!

  • ?

    瞎折腾吧:2种方法将Excel中文本数据进行拆分

    昌玉兰

    展开

    瞎折腾吧:2种方法将Excel中文本数据进行拆分

    大家好,我是头条号@爱玩电脑。前面给大家讲过如何在excel中将几个单元格的数据合并。在日常工作中,我们也可能会遇到需要将一个单元格的数据拆分为几个单元格的情况。今天我们就讲下如何将一个单元格的数据进行拆分,文章以拆分姓名为例来进行相关函数的展示。

    概述:系统为windows7,软件是WPS表格;在Excel中的操作是一样一样的;主要用到的函数为Left()、Right()、Replace()、Len()。

    先看看效果吧:

    最终效果

    A列是在网上复制的歌手的名字,下面讲讲如何实现的:

    一、取出姓氏的方法

    取出姓很简单,而且我这个例子也不涉及复姓。直接在B2单元格输入=LEFT(A2,1)就行了。意思是从A2单元格最左边开始取,取1个字符出来。如果你要取2个,你就写=LEFT(A2,2)。向下填充公式,姓就全部取出来了。

    二、取出名字的方法

    第一种方法:使用REPLACE函数

    在C2单元格输入=REPLACE(A2,1,1,"")。REPLACE函数有4个参数,第一个参数是"原来的字符串",第二个参数是"开始位置",第三个参数是"字符个数",第四个参数是"新字符串"。我们这里的意思是将"邓丽君"的"邓"字用空字符替换掉,我最后一个参数是英文状态下的双引号。

    第二种方法:使用RIGHT函数

    在C2单元格输入=RIGHT(A2,LEN(A2)-1)。RIGHT函数用于从右边开始取N个字符。LEN函数的效果是返回字符串包含的字符个数,比如LEN(A2)的话,就返回3,减去姓的一个字符,需要取2个从右往左取2个字符。

    好吧,在单元格中的数据进行拆分的操作就讲到这里。如果有复姓什么的,可以考虑用IF函数进行判断,操作字符串的函数还有MID等等。如果你有更好的方法欢迎分享。文章由头条号@爱玩电脑首发于今日头条,未经作者许可,禁止转载。

数据拆分

所有视频需要登录后,才能观看

请先登录您的帐号,即可完整播放,如果您尚未注册帐号,请先点击注册。

img

在线咨询

建站在线咨询

img

微信咨询

扫一扫添加
动力姐姐微信

img
img

TOP