`

MaxCompute分区表和非分区表使用对比

阅读更多
原文链接:http://click.aliyun.com/m/25142/
摘要: 本文我们将通过对有同样数据量、表结构除分区列其他都一模一样的表,从查询计算、写入、删除数据几个简单操作进行对比,了解MaxCompute分区表和非分区表在使用上有什么差异。 在介绍之前,需要大家先了解MaxCompute分区的概念。

本文我们将通过对有同样数据量、表结构除分区列其他都一模一样的表,从查询计算、写入、删除数据几个简单操作进行对比,了解MaxCompute分区表和非分区表在使用上有什么差异。

在介绍之前,需要大家先了解MaxCompute分区的概念。

数据准备
分区表:取公共数据集中的表dwd_prouduct_house_basic_info_out(二手房产数据集);

非分区表:执行建表语句:

create table dwd_prouduct_house_basic_info_out_npt as select * from public_data.dwd_prouduct_house_basic_info_out;

创建表的同时将源表的所有数据都复制到新表dwd_prouduct_house_basic_info_out_npt中。
由于create table … as select …语句创建的表不会复制分区属性,只会把源表的分区列作为目标表的一般列处理,所以新表dwd_prouduct_house_basic_info_out_npt为非分区表。

可以分别执行select count(*) from public_data.dwd_prouduct_house_basic_info_out; 和 select count(*) from dwd_prouduct_house_basic_info_out_npt;查看这两个表的记录数会是一样。

本次操作表的记录数为1147676063条。
计算对比
我们执行一个简单的查询某个分区数据的job:

Select * from public_data.dwd_prouduct_house_basic_info_out where ds= '20170113';--分区表查询
Select * from dwd_prouduct_house_basic_info_out_npt where ds= '20170113';--非分区表查询
计算时长对比
计算资源充足的情况下进行操作。

分区表里查询使用时间1秒,:
image

直接在对应分区中取出该分区所有数据。

非分区里表查询:
加上job等待时间共1分15秒
image
真正执行时长53秒
image

需要在整个表1147676063条记录中取出满足条件的数据。
image

计算费用对比
我们可以直接通过大数据开发套件->“数据开发”工作区中的“成本估计”对两条查询语句进行费用预估,该预估功能采用的计费公式可参考“计量计费->I/O后付费”。

若采用计算预付费模式,可不用在意该计算费用。
下图是通过成本估计功能预估的费用,结果显示在非分区表中查询一样条件的数据会花费更多,当然最终花费还得看最后的账单。

image

table size对比
由于MaxCompute存储压缩比不一定完全一致,两个表数据在MaxCompute的size也会有一定的差异。

desc public_data.dwd_prouduct_house_basic_info_out;分区表执行结果如下图:

image

desc dwd_prouduct_house_basic_info_out_npt; 非分区表执行结果如下图:

image

写入对比
创建三个表,表结构除了分区列,其他都一致:

非分区表,

create  table   house_test_npt(house_id string  , house_total_price string , house_unit_price string , house_type string , house_floor string , house_direction string , house_deckoration string , house_area string , house_community_name string , house_region string  , house_city string, ds string)

以时间为分区的分区表

create  table   house_test_pt_1(house_id string  , house_total_price string , house_unit_price string , house_type string , house_floor string , house_direction string , house_deckoration string , house_area string , house_community_name string , house_region string  , house_city string ) partitioned by ( ds string)

以时间为一级分区,城市为二级分区的分区表
原文链接:http://click.aliyun.com/m/25142/
分享到:
评论

相关推荐

    BLOG_如何将一个普通表转换为分区表.pdf

    首先创建一个与原表结构相同但已经被分区的表,然后使用交换分区的命令将非分区表与分区表中的一个空分区进行交换。这个方法的优点是可以快速完成转换,但必须保证原表中没有非空的分区。 4. DBMS_REDEFINITION方法...

    oracle普通表转化为分区表的方法

    当表的大小超过2GB时,官方推荐使用分区表,因为它们在处理大量数据时具有显著优势。本文将详细介绍如何通过在线重定义(DBMS_REDEFINITION)将普通表转换为分区表,这是官方给出的四种方法之一,且对系统的影响最小...

    oracle分区表之hash分区表的使用及扩展

    Oracle分区表中的Hash分区是一种基于哈希算法的分区策略,适用于...在实际应用中,创建和扩展Hash分区表时,应结合业务需求和数据特性,综合考虑分区键的选择、分区数的设定以及扩展策略,以实现最佳的性能和管理效果。

    硬盘分区表修改

    - 使用NORTON的DISKEDIT进行硬盘分区表的修复和编辑需要具备一定的计算机知识基础和谨慎的操作,错误的编辑可能会导致数据丢失或系统无法启动。 - 在进行分区表编辑之前,建议先备份硬盘上的重要数据,以防不测。 ...

    分区表解释-深入浅出硬盘分区表

    硬盘分区表是计算机存储系统中的一个重要组成部分,它负责组织硬盘空间并将其划分为多个独立的区域,以便操作系统管理和存储数据。本文将详细解释硬盘分区表的位置、结构以及如何通过理解这些知识来修复受损的分区表...

    分区表损坏时的数据修复 硬盘主引导记录.docx )

    分区表损坏时的数据修复 硬盘主引导记录 ...使用专业的工具,如NDD和DiskMan,可以帮助用户修复分区表,恢复硬盘的使用。同时,备份分区表也非常重要,可以避免硬盘分区信息的损失,避免数据的丢失。

    易我分区表医生--重建损毁的分区表

    它能够快速扫描硬盘,定位并修复受损的分区表,帮助用户找回丢失的分区和数据。这款软件以其简单易用的界面和高效的数据恢复能力赢得了用户的广泛好评。 首先,我们来了解一下分区表。分区表是硬盘上的一个关键数据...

    海思MTD分区表

    海思MTD分区表是针对海思半导体的HI3516C芯片设计的一种存储分区配置,主要用于管理和组织嵌入式设备的非易失性存储器(NAND Flash)。MTD,即Memory Technology Device,是Linux系统中用于驱动各种非易失性存储设备...

    CW M301Hv300分区表.rar

    4. **固件更新流程**:如何使用分区表信息进行安全有效的固件更新。 5. **安全性考虑**:如何通过分区策略来增强系统的安全性和数据保护。 6. **系统恢复机制**:如何利用分区表来设计备份和恢复方案。 7. **资源...

    互联网公司为啥不使用mysql分区表

    "互联网公司为啥不使用mysql分区表" 在互联网公司中,mysql分区表是一个比较少用的技术,这是因为分区表存在一些缺陷和限制,使得互联网公司更多地选择自己分库分表来水平扩展数据库。 首先,分区表的设计需要考虑...

    使用winhex 操作NTFS的分区表重建

    标题中的“使用WinHex操作NTFS的分区表重建”指的是在NTFS文件系统中,当分区表损坏导致分区丢失时,使用WinHex这款强大的十六进制编辑器进行分区表的恢复过程。描述中提到,即使所有分区都消失,也可以通过WinHex来...

    WINHEX查看磁盘主引导记录和主分区表

    总的来说,掌握如何使用WinHex查看和理解MBR和主分区表是IT专业人士必备的技能之一,这有助于我们更好地理解和解决与硬盘相关的问题。通过学习和实践,我们能够提升自己的技术能力,应对各种复杂的技术挑战。

    MS SQL Server分区表、分区索引详解

    使用分区表的主要目的是为了改善大型表及具有多种访问模式的表的可伸缩性和可管理性。这里的“大型表”指的是数据量巨大的表,“访问模式”是指因不同的查询目的而需要访问的不同数据行集合。分区可以通过将数据分割...

    PTDD分区表医生v3.5汉化绿色专业版【检查硬盘分区表、修复分区表错误】

    PTDD分区表医生是一款专业的硬盘分区管理工具,主要用于检查和修复硬盘的分区表错误。这款软件的全称为Partition Table Doctor,版本为3.5,并已汉化为中文,方便中国用户使用。它是一款绿色版软件,意味着无需安装...

    db2分区表在线迁移

    2. **测试和验证**:在非生产环境中进行迁移测试,确保目标环境兼容且能正确处理分区数据。 3. **数据迁移**:根据选择的策略执行数据迁移,监控迁移过程,确保数据完整性。 4. **验证和切换**:迁移完成后,验证...

    oracle11g expdp impdp 分区表重映射导出导入数据迁移方案

    oracle expdp impdp 分区表重映射导出导入 数据迁移方案,以SI01用户为例子,将用户分区表导出后,将分区表重映射到新的表空间,完成数据迁移和检查。照方案例子按步去做,一定能成功。

    PostgreSQL分区表实践与思考.pptx

    PostgreSQL 9.x 及之前的版本使用传统分区表,通过继承和触发器实现分区表关系。从 PostgreSQL 10 版本开始,官方支持内置分区表,接着在 PostgreSQL 11 版本中分区表功能得到了增强。最后,在 PostgreSQL 12 版本中...

    分区表备份工具DSKPROBE使用说明

    本文将详细介绍DSKPROBE的使用方法,以及其在备份和恢复分区表过程中的关键步骤。 1. **DSKPROBE简介** DSKPROBE是一款强大的硬盘分区管理工具,主要功能包括备份、查看和修复分区表。它支持多种操作系统,如...

Global site tag (gtag.js) - Google Analytics