Créez une table Iceberg dans le compartiment de tables et le namespace spécifiés.
Notes
Les noms de table ne peuvent contenir que des lettres minuscules, des chiffres et des traits de soulignement (_), et doivent commencer et se terminer par une lettre minuscule ou un chiffre.
Les noms de table doivent être uniques au sein d'un namespace.
Le paramètre
--metadataaccepte du JSON qui définit le schéma de la table Iceberg. Fournissez le JSON en ligne ou référencez un fichier local avec le préfixefile://.Le paramètre
--formatprend uniquement en charge la valeurICEBERG.
Syntaxe
ossutil tables-api create-table --table-bucket-arn value --namespace value --name value --format value [flags]
|
Paramètre |
Type |
Description |
|
--encryption-configuration |
string |
Configuration du chiffrement côté serveur pour la table, au format JSON. |
|
--format |
string |
Format de la table. Seule la valeur |
|
--metadata |
string |
Métadonnées de la table au format JSON. Définit le schéma de la table Iceberg et les informations sur les champs. |
|
--name |
string |
Nom de la table. Doit contenir uniquement des lettres minuscules, des chiffres et des traits de soulignement (_), et commencer et se terminer par une lettre minuscule ou un chiffre. |
|
--namespace |
string |
Namespace cible pour la table. |
|
--table-bucket-arn |
string |
Alibaba Cloud Resource Name (ARN) du compartiment de tables. Format : |
Cette commande correspond à l'opération API CreateTable.
Cette commande prend en charge toutes les Options globales pour ossutil.
Syntaxe JSON pour --metadata :
{
"iceberg": {
"schema": {
"fields": [
{
"id": 1,
"name": "id",
"type": "long",
"required": true
},
{
"id": 2,
"name": "name",
"type": "string",
"required": false
},
{
"id": 3,
"name": "created_at",
"type": "timestamp",
"required": false
}
]
}
}
}
Attributs des champs :
id : Entier incrémentiel unique.
name : Nom du champ.
type : Type de données. Types pris en charge :
long,string,int,boolean,float,doubleettimestamp.required : Indique si le champ est obligatoire. Si la valeur est
true, le champ ne peut pas être nul.
Exemples
-
Créez une table Iceberg nommée
my_tabledans le namespacemy_namespaceavec un schéma JSON en ligne.ossutil tables-api create-table --table-bucket-arn acs:osstables:cn-hangzhou:1234567890:bucket/my-table-bucket --namespace my_namespace --name my_table --format ICEBERG --metadata '{"iceberg":{"schema":{"fields":[{"id":1,"name":"id","type":"long","required":true},{"id":2,"name":"data","type":"string"}]}}}' -
Créez une table Iceberg à partir d'un fichier local de métadonnées JSON. Enregistrez le schéma dans
table_metadata.json, puis référencez-le avec le préfixefile://.ossutil tables-api create-table --table-bucket-arn acs:osstables:cn-hangzhou:1234567890:bucket/my-table-bucket --namespace my_namespace --name my_table --format ICEBERG --metadata file://table_metadata.json