MAPREDUCE服务 MRS-CREATE TABLE:注意事项

时间:2024-06-29 16:25:00

注意事项

以下是表格属性的使用。
  • Block大小

    单个表的数据文件block大小可以通过TBLPROPERTIES进行定义,系统会选择数据文件实际大小和设置的blocksize大小中的较大值,作为该数据文件在HDFS上存储的实际blocksize大小。单位为MB,默认值为1024MB,范围为1MB~2048MB。若设置值不在[1, 2048]之间,系统将会报错。

    一旦block大小达到配置值,写入程序将启动新的CarbonData数据的block。数据以页面大小(32000个记录)的倍数写入,因此边界在字节级别上不严格。 如果新页面跨越配置block的边界,则不会将其写入当前block,而是写入新的block。

    TBLPROPERTIES('table_blocksize'='128')

    • 当在CarbonData表中配置了较小的blocksize,而加载的数据生成的数据文件比较大时,在HDFS上显示的blocksize会与设置值不同。这是因为,对于每一个本地block文件的首次写入,即使待写入数据的大小大于blocksize的配置值,也直接将待写入数据写入此block。所以,HDFS上blocksize的实际值为待写入数据大小与blocksize配置值中的较大值。
    • 当CarbonData表中的数据文件block.num小于任务并行度(parellelism)时,CarbonData数据文件的block会被切为新的block,使得blocks.num大于parellelism,这样所有core均可被使用。这种优化称为block distribution。
  • SORT_SCOPE:指定表创建时的排序范围。如下为四种排序范围。
    • GLOBAL_SORT:它提高了查询性能,特别是点查询。TBLPROPERTIES('SORT_SCOPE'='GLOBAL_SORT')
    • LOCAL_SORT:数据会本地排序(任务级别排序)。

      LOCAL_SORT与分区表的DDL操作存在冲突,不能同时使用,且对分区表性能提升不明显,不建议在分区表上启用该特性。

    • NO_SORT:默认排序。它将以不排序的方式加载数据,这将显著提升加载性能。
  • SORT_COLUMNS

    此表属性指定排序列的顺序。

    TBLPROPERTIES('SORT_COLUMNS'='column1, column3')

    • 如果未指定此属性,则默认情况下,没有列会被排序。
    • 如果指定了此属性,但具有空参数,则表将被加载而不进行排序。例如,('SORT_COLUMNS'='')
    • SORT_COLUMNS将接受string,date,timestamp,short,int,long,byte和boolean数据类型。
support.huaweicloud.com/cmpntguide-mrs/mrs_01_1425.html