Updated on 2024-03-06 GMT+08:00

Table-Related SDKs

Creating a DLI Table

DLI provides an API for creating DLI tables. Sample code is as follows:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
def create_dli_tbl(dli_client, db_name, tbl_name):
    cols = [
        Column('col_1', 'string'),
        Column('col_2', 'string'),
        Column('col_3', 'smallint'),
        Column('col_4', 'int'),
        Column('col_5', 'bigint'),
        Column('col_6', 'double'),
        Column('col_7', 'decimal(10,0)'),
        Column('col_8', 'boolean'),
        Column('col_9', 'date'),
        Column('col_10', 'timestamp')
    ]
    sort_cols = ['col_1']
    tbl_schema = TableSchema(tbl_name, cols, sort_cols)
    try:
        table = dli_client.create_dli_table(db_name, tbl_schema)
    except DliException as e:
        print(e)
        return

    print(table)

For details about the dependencies and complete sample code, see Overview.

Creating an OBS Table

DLI provides an API for creating OBS tables. The example code is as follows:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
def create_obs_tbl(dli_client, db_name, tbl_name):
    cols = [
        Column('col_1', 'string'),
        Column('col_2', 'string'),
        Column('col_3', 'smallint'),
        Column('col_4', 'int'),
        Column('col_5', 'bigint'),
        Column('col_6', 'double'),
        Column('col_7', 'decimal(10,0)'),
        Column('col_8', 'boolean'),
        Column('col_9', 'date'),
        Column('col_10', 'timestamp')
    ]
    tbl_schema = TableSchema(tbl_name, cols)
    try:
        table = dli_client.create_obs_table(db_name, tbl_schema,
                                            'obs://bucket/obj',
                                            'csv')
    except DliException as e:
        print(e)
        return

    print(table)
  • You need to create an OBS path in advance and specify it when creating an OBS table.
  • For details about the dependencies and complete sample code, see Overview.

Deleting a Table

DLI provides an API for deleting tables. The example code is as follows:

1
2
3
4
5
6
7
8
def delete_tbls(dli_client, db_name):
    try:
        tbls = dli_client.list_tables(db_name)
        for tbl in tbls:
            dli_client.delete_table(db_name, tbl.name)
    except DliException as e:
        print(e)
        return
  • A deleted table cannot be restored. Exercise caution when deleting a table.
  • For details about the dependencies and complete sample code, see Overview.

Querying All Tables

DLI provides an API for querying tables. The example code is as follows:

1
2
3
4
5
6
7
8
9
def list_all_tbls(dli_client, db_name):
    try:
        tbls = dli_client.list_tables(db_name, with_detail=True)
    except DliException as e:
        print(e)
        return

    for tbl in tbls:
        print(tbl.name)

For details about the dependencies and complete sample code, see Overview.

Describing Table Information

You can call an API to obtain the metadata description of a table. The sample code is as follows:
def get_table_schema(dli_client, db_name, tbl_name):
 try:
        table_info = dli_client.get_table_schema(db_name, tbl_name)
        print(table_info)
    except DliException as e:
        print(e)
        return