Membuat tabel Iceberg di bucket dan namespace yang ditentukan.
Catatan
Nama tabel hanya boleh terdiri atas huruf kecil, angka, dan garis bawah (_), serta harus dimulai dan diakhiri dengan huruf kecil atau angka.
Nama tabel harus unik dalam satu namespace.
Parameter
--metadatamemerlukan metadata tabel dalam format JSON untuk menentukan skema tabel Iceberg. Anda dapat memberikan JSON secara langsung atau dari file lokal dengan menggunakan awalanfile://.Saat ini, parameter
--formathanya mendukungICEBERG.
Sintaks
ossutil tables-api create-table --table-bucket-arn value --namespace value --name value --format value [flags]Parameter | Type | Deskripsi |
--encryption-configuration | string | Menentukan metode Enkripsi sisi server untuk tabel. Berikan konfigurasi dalam format JSON. |
--format | string | Menentukan format tabel. Saat ini, hanya |
--metadata | string | Menentukan metadata tabel dalam format JSON. Metadata ini mendefinisikan skema tabel Iceberg, termasuk informasi bidang. |
--name | string | Menentukan nama tabel. Nama hanya boleh berisi huruf kecil, angka, dan garis bawah (_), serta harus dimulai dan diakhiri dengan huruf kecil atau angka. |
--namespace | string | Namespace tempat tabel akan dibuat. |
--table-bucket-arn | string | Nama Sumber Daya Alibaba Cloud (ARN) dari bucket tabel. Formatnya adalah |
Perintah create-table dipetakan ke operasi API CreateTable. Untuk detail parameter, lihat CreateTable.
Untuk opsi baris perintah global yang didukung, lihat Global options for ossutil.
Sintaks JSON untuk parameter --metadata adalah sebagai berikut:
{
"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
}
]
}
}
}Atribut untuk setiap bidang adalah sebagai berikut:
id: ID bidang. Harus berupa bilangan bulat unik dan berurutan.
name: Nama bidang.
type: Tipe data bidang. Tipe Iceberg yang didukung meliputi
long,string,int,boolean,float,double, dantimestamp.required: Nilai boolean yang menentukan apakah bidang tersebut wajib diisi. Jika
true, bidang tidak boleh bernilai null.
Contoh
Buat tabel Iceberg bernama
my_tabledi namespacemy_namespacedengan menyediakan skema tabel sebagai JSON inline.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"}]}}}'Buat tabel Iceberg dari file JSON lokal. Pertama, simpan metadata tabel ke file bernama
table_metadata.json. Kemudian, tentukan path file dengan awalanfile://.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