Topic操作
創(chuàng)建Topic
用戶點擊Project詳情頁面中的創(chuàng)建Topic按鈕,進行Topic的創(chuàng)建。可以通過兩種方式創(chuàng)建Topic
自定義格式創(chuàng)建
注意:開啟Shard擴展模式,shard支持水平擴展,不再支持“合并”和“分裂”,以后shard數(shù)量只能增加,不可減少。此模式開啟后可以使用kafka方式來消費當前Topic
用戶可根據(jù)業(yè)務(wù)需求進行Topic的創(chuàng)建,各選項的意義可查看幫助文檔中的基本概念。
通過導入MaxCompute表結(jié)構(gòu)進行創(chuàng)建
步驟一
需要指定訪問MaxCompute的相關(guān)參數(shù):
步驟二
點擊下一步,導入MaxCompute的表結(jié)構(gòu),表結(jié)構(gòu)中的Topic名稱、字段注釋以及字段是否為空可以根據(jù)需要進行修改注意:開啟Shard擴展模式,shard支持水平擴展,不再支持“合并”和“分裂”,以后shard數(shù)量只能增加,不可減少。此模式開啟后可以使用kafka方式來消費當前Topic
查看Topic
1.進入Project頁面,點擊查看按鈕
2.查看Topic各項詳情,如Topic存儲量
刪除Topic
用戶點擊Topic列表中的刪除按鈕可進行Topic的刪除。需要注意的是,一旦刪除Topic,該Topic下的數(shù)據(jù),資源(Shard, Connector)均被刪除,無法恢復,請謹慎操作。
新增Version
DataHub允許對已經(jīng)創(chuàng)建的Topic進行字段的修改,并生成新的version版本。
注意:對于使用DTS、以及Logstash插件、Flume插件、OGG插件、Fluentd插件寫入DataHub,暫不支持SchemaRegister,用戶需要通過SDK appendField接口 或者 console工具進行添加
名詞解釋:
版本號:Tuple類型Topic在創(chuàng)建完成后會自動生成版本號,初始值為0,每次修改(克隆或者增加version)版本號會在當前最新版本號+1
克隆: 可以在保留原有Schema表結(jié)構(gòu)上新增字段
克隆(推薦)
用戶可以通過克隆來實現(xiàn)對原有Schema新增字段或者修改字段,主要適用場景為新增字段
步驟一
在Schema詳情頁簽點擊克隆,選擇增加列按鈕
步驟二
填寫對應(yīng)的新增信息,點擊確定
增加version
用戶可以新增version,可在不繼承原有Schema結(jié)構(gòu)的情況下新增Schema
步驟一
在Schema詳情頁簽點擊增加Version按鈕,在彈出框點擊增加列
步驟二
填寫對應(yīng)的新增信息,點擊確定,新增version成功
修改Topic生命周期
DataHub 可以修改Topic的生命周期參考代碼如下:
參數(shù)
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); } }