Creates a new MapR-DB table. Optionally, you can specify several permissions levels for this table and the column families in the table with Access Control Expressions (ACEs).

Syntax

CLI

maprcli table create

-path <path>
[ -copymetafrom <path to source table> ]

[ -copymetatype all|cfs|aces|splits|attrs ]
[ -regionsizemb <region size in MB> ]
[ -audit true|false ] [ -autosplit true|false ]
[ -bulkload true|false ]
[ -packperm <Pack Permission settings> ]
[ -bulkloadperm <Bulk load Permission settings> ]
[ -splitmergeperm <Split and Merge Permission settings> ]
[ -createrenamefamilyperm <Add/Rename Family Permission settings> ]
[ -deletefamilyperm <Delete Family Permission settings> ]
[ -adminaccessperm <ACE Admin Permission settings> ]
[ -replperm <Replication Admin Permission settings> ]
[ -defaultversionperm <CF Versions Default Permission setting> ]
[ -defaultcompressionperm <CF Compression Default Permission setting> ]
[ -defaultmemoryperm <CF Memory Default Permission setting> ]
[ -defaultreadperm <CF Read Default Permission setting> ]
[ -defaultwriteperm <CF Write Default Permission setting> ]
[ -defaultappendperm <CF Append Default Permission setting> ]

REST

http[s]://<host>:<port>/rest/table/create?path=<path>

Parameters

Parameter

Description

path

The path to the new MapR-DB table.

  • For a path on the local cluster, start the path at the volume mount point. For example, for a table named test under a volume with a mount point at /volume1, specify the following path: /volume1/test
  • For a path on a remote cluster, you must also specify the cluster name in the path. For example, for a table named customer under volume1 in the sanfrancisco cluster, specify the following path:/mapr/sanfrancisco/volume1/customer
copymetafrom

The path to a table that contains the metadata that should be used to create the table.

  • For a path on the local cluster, start the path at the volume mount point. For example, if you want to copymetadata from a table named test under volume1 which has a mount point at /volume1, specify the following path: /volume1/test
  • For a path on a remote cluster, you must also specify the cluster name in the path. For example, if you want to copymetadata from a table named test under volume1 in the sanfrancisco cluster, specify the following path: /mapr/sanfrancisco/volume1/customer
copymetatype

The type of metadata to copy from the table identified in the copymetafrom parameter.
You can specify one or more of the following options in a comma separated list:

  • all. Copy all metadata. This is the default.
  • cfs. Copy column family metadata.
  • aces. Copy ACE permissions.
  • splits. Copy split keys.
  • attrs. Copy table attributes.
regionsizemb

The average size of the regions into which MapR-DB tries to split the table as the table grows. The default is 4096 MB. This value is ignored if autosplit is set to false.

If autosplit is set to true, MapR-DB splits a region when the size of the region exceeds 150% of the average value. For example, if the average value is 4096 MB, MapR-DB splits a region that is larger than 6144 MB.

Although splits are automatic, merges are not. For example, if the value of regionsizemb is changed from 8 GB to 4 GB, all regions that are eligible are split automatically, if autosplit is set to true. However, if the value of regionsizemb is changed from 2 GB to 4 GB, regions smaller than 4 GB are not automatically merged.

When a table has less than 4 regions, MapR-DB ignores the regionsizemb parameter and splits regions at a lower threshold.
auditSpecifies whether to turn auditing on for the table. If auditing is also enabled at the cluster level with the maprcli audit data command and enabled for the current volume, setting this value to true causes auditing to start for the table.
autosplit

A Boolean value that specifies whether to split the table into regions automatically as the table grows. The average size of each region is determined by the regionsizemb parameter.

The default value is true. If you set the value to false, you can manually split tables into regions by using the table region split command.

bulkload

A Boolean value that specifies whether to perform a full bulk load of the table. The default is false. For more information, see Bulk Loading and MapR Tables.

packpermThe Access Control Expression that controls who can pack table regions.  By default, permission is given to the user ID that is used to create the table.
bulkloadpermThe Access Control Expression that controls who can load this table with bulk loads if the table was created with bulk load support. By default, permission is given to the user ID that is used to create the table.
splitmergeperm

 

The Access Control Expression that controls who can take the following actions:

  • Run the table region split and table region merge commands to split the table into regions or to merge regions of the table together.  
  • Change the value of regionsizemb.

By default, permission is given to the user ID that is used to create the table.

createrenamefamilypermThe Access Control Expression that controls who can create column families for this table or rename existing column families.  By default, permission is given to the user ID that is used to create the table.
deletefamilypermThe Access Control Expression that defines access to delete column families for this table. Delimit the expression with single-quotation marks.  By default, permission is given to the user ID that is used to create the table.
adminaccesspermThe Access Control Expression that controls who can view and edit the permissions for this table. By default, permission is given to the user ID that is used to create the table.
replpermThe Access Control Expression that controls who can set up replication either to or from a table. By default, permission is given to the user ID that is used to create the table

defaultversionperm

The default Access Control Expression for the version permission on new column families that are created in this table.  If no value is specified, the default is u:<username of the table creator>. This value of the parameter versionperm in the table cf create and table cf edit commands overrides this value.
defaultcompressionpermThe default Access Control Expression for the compression permission on new column families that are created in this table.  If no value is specified, the default is u:<username of the table creator>. This value of the parameter compressionperm in the table cf create and table cf edit commands overrides this value.

defaultmemoryperm

The default Access Control Expression for the memory permission on new column families that are created in this table.  If no value is specified, the default is u:<username of the table creator>. This value of the parameter memoryperm in the table cf create and table cf edit commands overrides this value.

defaultreadpermThe default Access Control Expression for the read permission on new column families that are created in this table.  If no value is specified, the default is u:<username of the table creator>. This value of the parameter readperm in the table cf create and table cf edit commands overrides this value.
defaultwritepermThe default Access Control Expression for the write permission on new column families that are created in this table.  If no value is specified, the default is u:<username of the table creator>. This value of the parameter writeperm in the table cf create and table cf edit commands overrides this value.
defaultappendpermThe default Access Control Expression for the append permission on new column families that are created in this table.  If no value is specified, the default is u:<username of the table creator>. This value of the parameter appendperm in the table cf create and table cf edit commands overrides this value.

Examples

Creates a new MapR table named newtable in volume1:

CLI

maprcli table create -path /volume1/newtable

REST

https://ip.address:8443/rest/table/create?path=%2Fvolume1%2Fnewtable