更新时间:2024-07-24 GMT+08:00

新建CarbonData表

操作场景

使用CarbonData前需先创建表,才可在其中加载数据和查询数据。可通过Create Table命令来创建表。该命令支持使用自定义列创建表。

使用自定义列创建表

可通过指定各列及其数据类型来创建表。

命令示例:

CREATE TABLE IF NOT EXISTS productdb.productSalesTable (

productNumber Int,

productName String,

storeCity String,

storeProvince String,

productCategory String,

productBatch String,

saleQuantity Int,

revenue Int)

STORED AS carbondata

TBLPROPERTIES (

'table_blocksize'='128');

上述命令所创建的表的详细信息如下:

表1 表信息定义

参数

描述

productSalesTable

待创建的表的名称。该表用于加载数据进行分析。

表名由字母、数字、下划线组成。

productdb

数据库名称。该数据库将与其中的表保持逻辑连接以便于识别和管理。

数据库名称由字母、数字、下划线组成。

productName

storeCity

storeProvince

procuctCategory

productBatch

saleQuantity

revenue

表中的列,代表执行分析所需的业务实体。

列名(字段名)由字母、数字、下划线组成。

table_blocksize

CarbonData表使用的数据文件的block大小,默认值为1024,最小值为1,最大值为2048,单位为MB。

如果“table_blocksize”值太小,数据加载时,生成过多的小数据文件,可能会影响HDFS的使用性能。

如果“table_blocksize”值太大,数据查询时,索引匹配的block数据量较大,某些block会包含较多的blocklet,导致读取并发度不高,从而降低查询性能。

一般情况下,建议根据数据量级别来选择大小。例如:GB级别用256,TB级别用512,PB级别用1024。

  • 所有Integer类型度量均以BigInt类型进行处理与显示。
  • CarbonData遵循严格解析,因此任何不可解析的数据都会被保存为null。例如,在BigInt列中加载double值(3.14),将会保存为null。
  • 在Create Table中使用的Short和Long数据类型在DESCRIBE命令中分别显示为Smallint和Bigint。
  • 可以使用DESCRIBE格式化命令查看表数据大小和表索引大小。

操作结果

根据命令创建表。