创建Topic
用户点击Project详情页面中的创建Topic按钮,进行Topic的创建。可以通过两种方式创建Topic
自定义格式创建
注意:开启Shard扩展模式,shard支持水平扩展,不再支持“合并”和“分裂”,以后shard数量只能增加,不可减少。此模式开启后可以使用kafka方式来消费当前Topic
用户可根据业务需求进行Topic的创建,各选项的意义可查看帮助文档中的基本概念。
通过导入MaxCompute表结构进行创建
步骤一
需要指定访问MaxCompute的相关参数:
步骤二
点击下一步,导入MaxCompute的表结构,表结构中的Topic名称、字段注释以及字段是否为空可以根据需要进行修改注意:开启Shard扩展模式,shard支持水平扩展,不再支持“合并”和“分裂”,以后shard数量只能增加,不可减少。此模式开启后可以使用kafka方式来消费当前Topic
查看Topic
1.进入Project页面,点击查看按钮
2.查看Topic各项详情,如Topic存储量
删除Topic
用户点击Topic列表中的删除按钮可进行Topic的删除。需要注意的是,一旦删除Topic,该Topic下的数据,资源(Shard, Connector)均被删除,无法恢复,请谨慎操作。
新增Version
DataHub允许对已经创建的Topic进行字段的修改,并生成新的version版本。
注意:对于使用DTS、以及Logstash插件、Flume插件、OGG插件、Fluentd插件写入DataHub,暂不支持SchemaRegister,用户需要通过SDK appendField接口 或者 console工具进行添加
名词解释:
版本号:Tuple类型Topic在创建完成后会自动生成版本号,初始值为0,每次修改(克隆或者增加version)版本号会在当前最新版本号+1
克隆: 可以在保留原有Schema表结构上新增字段
克隆(推荐)
用户可以通过克隆来实现对原有Schema新增字段或者修改字段,主要适用场景为新增字段
步骤一
在Schema详情页签点击克隆,选择增加列按钮
步骤二
填写对应的新增信息,点击确定
增加version
用户可以新增version,可在不继承原有Schema结构的情况下新增Schema
步骤一
在Schema详情页签点击增加Version按钮,在弹出框点击增加列
步骤二
填写对应的新增信息,点击确定,新增version成功
修改Topic生命周期
DataHub 可以修改Topic的生命周期参考代码如下:
参数
projectName The name of the project in which you get.
topicName The name of the topic.
lifeCycle The lifeCycle of the topic.
comment The comment of the topic.
Exception
DatahubClientException
InvalidParameterException
AuthorizationFailureException
ResourceNotFoundException
示例
public static void updatetopic() { try { int lifeCycle = 7; String comment = "test"; datahubClient.updateTopic(Constant.projectName, Constant.topicName,liefCycle,comment ); System.out.println("update topicLifeCycle success!"); } catch (InvalidParameterException e) { System.out.println("invalid parameter, please check your parameter"); System.exit(1); } catch (AuthorizationFailureException e) { System.out.println("AK error, please check your accessId and accessKey"); System.exit(1); } catch (ResourceNotFoundException e) { System.out.println("project or topic not found"); System.exit(1); } catch (DatahubClientException e) { System.out.println("other error"); System.exit(1); } }