schema

语法

schema(table|dbHandle)

参数

参数可为一个数据表,亦可为一个数据库句柄 (dbHandle) 。

详情

显示指定数据表或数据库的结构信息。各字段对应含义如下:

  • databaseDir:数据库的保存目录的路径。

  • partitionTypeName / partitionType:分区的类型名和对应的 ID。VALUE(1), RANGE(2), LIST(3), COMPO(4), HASH(5)。

  • partitionSites:若 database 函数配置了 locations 参数,则该字段将列出 locations 指定节点的 ip:port 信息。

  • partitionSchema:分区的结构。

  • chunkGranularity:分区粒度。

  • atomic:写入事务的原子性层级。

  • partitionColumnIndex:分区列在表字段中对应的下标。维度表时,该值为 -1。

  • partitionColumnName:分区列的名称。

  • partitionColumnType:分区列类型对应的 ID,参照数据类型章节。

  • colDefs:数据表各字段的结构信息。

    • name:列名

    • typeString:列的类型

    • typeInt:列类型对应的ID

    • comment:列字段的注释信息

  • clusterReplicationEnabled:集群间异步复制的开启状态。若开启,则该值为 true,否则为 false。

相关函数:database, createTable, createPartitionedTable

例子

$ n=1000000
$ ID=rand(10, n)
$ x=rand(1.0, n)
$ t=table(ID, x)
$ db=database("dfs://rangedb101", RANGE, 0 5 10)
$ pt = db.createPartitionedTable(t, `pt, `ID)
$ pt.append!(t)
$ pt=loadTable(db,`pt);


$ schema(pt);

 partitionSchema->[0,5,10]
 partitionSites->
 partitionColumnType->4
 partitionTypeName->RANGE
 chunkGranularity->TABLE
 keepDuplicates->ALL
 engineType->OLAP
 chunkPath->
 partitionColumnIndex->0
 colDefs->
 name typeString typeInt comment
 ---- ---------- ------- -------
 ID   INT        4
 x    DOUBLE     16

 partitionType->2
 partitionColumnName->ID
$ schema(db);

partitionSchema->[0,5,10]
partitionSites->
partitionTypeName->RANGE
partitionColumnType->4
atomic->TRANS
databaseDir->dfs://rangedb101
engineType->OLAP
chunkGranularity->TABLE
clusterReplicationEnabled->true
partitionType->2