表相关
创建DLI表
DLI提供创建DLI表的接口。您可以使用该接口创建数据存储在DLI内部的表。示例代码如下:
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) |
完整样例代码和依赖包说明请参考:Python SDK概述。
创建OBS表
DLI提供创建OBS表的接口。您可以使用该接口创建数据存储在OBS的表。示例代码如下:
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) |
- 创建OBS表需要指定OBS路径,且该路径需要提前创建。
- 完整样例代码和依赖包说明请参考:Python SDK概述。
删除表
DLI提供删除表的接口。您可以使用该接口删除数据库下的所有表。示例代码如下:
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 |
- 表删除后,将不可恢复,请谨慎操作。
- 完整样例代码和依赖包说明请参考:Python SDK概述。
查询所有表
DLI提供查询表的接口。您可以使用该接口查询数据库下的所有表。示例代码如下:
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) |
完整样例代码和依赖包说明请参考:Python SDK概述。