すべてのプロダクト
Search
ドキュメントセンター

DataHub:トピックの管理

最終更新日:Jan 17, 2025

トピックの作成

プロジェクトの詳細ページで [トピックの作成] をクリックして、トピックを作成します。 2 つの方法でトピックを作成できます。

カスタムスキーマを使用したトピックの作成

topic_1

注記: シャード拡張モードが有効になっている場合、現在のトピックのシャードは水平方向の拡張をサポートしますが、マージと分割はサポートしません。 シャードの数は増やすことしかできず、減らすことはできません。 このモードが有効になると、Kafka を使用して現在のトピックをコンシュームできます。

ビジネス要件に基づいてトピックを作成できます。 トピックの作成に使用されるパラメーターを理解するには、DataHubドキュメントの用語をご覧ください。

MaxComputeテーブルのスキーマをインポートしてトピックを作成する

手順 1

MaxComputeテーブルにアクセスするために使用されるパラメーターを設定します。

odps

手順 2

[次の手順] をクリックして、MaxComputeテーブルのスキーマをインポートします。 必要に応じて、トピック名とフィールドの説明を変更し、スキーマ内のフィールドをNULLにすることができるかどうかを指定できます。 注記: シャード拡張モードが有効になっている場合、現在のトピックのシャードは水平方向の拡張をサポートしますが、マージと分割はサポートしません。 シャードの数は増やすことしかできず、減らすことはできません。 このモードが有効になると、Kafka を使用して現在のトピックをコンシュームできます。

odps_2

トピックの詳細の表示

1. プロジェクトの詳細ページで、詳細を表示するトピックを見つけ、[アクション] 列の [表示] をクリックします。

topic_001

トピックの削除

[トピック一覧] タブで、削除するトピックを見つけ、[アクション] 列の [削除] をクリックします。 トピックが削除されると、トピック内のシャードやDataConnectorを含むデータとリソースが削除され、復元できなくなることに注意してください。 慎重に進んでください。

topic_002

フィールドの作成

トピックの詳細ページで、または DataHub SDK を使用して、トピックのフィールドを作成できます。

トピックの詳細ページでフィールドを作成する

  1. トピックの詳細ページに移動します。 [スキーマの詳細] タブをクリックします。 詳細ページの右下隅にある [スキーマの作成] をクリックします。

topic_003

2. [スキーマの作成] パネルで、[名前]、[タイプ]、[NULLを許可]、および [説明] パラメーターを設定します。

topic_004

3. [OK] をクリックします。 フィールドが作成された後、[スキーマの詳細] タブでフィールドを表示します。topic_005

注記: 一度に作成できるフィールドは 1 つだけです。 一度に複数のフィールドを作成するには、コンソールコマンドラインツールまたは DataHub SDK を使用します。

DataHub SDK を使用してフィールドを作成する

サンプルコード:

  • パラメーター

    • projectName: フィールドを追加するプロジェクトの名前。

    • topicName: トピックの名前。

  • 例外

    • DatahubClientException

    • InvalidParameterException

    • AuthorizationFailureException

    • ResourceNotFoundException

  • public static void appendNewField() {
      try {
          Field newField = new Field("newField", FieldType.STRING, true); // 新しいフィールドを作成
          datahubClient.appendField(Constant.projectName, Constant.topicName, newField); // フィールドを追加
          System.out.println("append field successful"); // 成功メッセージを出力
      } 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"); // AKエラーのメッセージ
          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);
      }
    }

トピックの TTL 期間の変更

DataHub でトピックの Time-To-Live (TTL) 期間を変更できます。 サンプルコード:

  • パラメーター

    • projectName: トピックの TTL を変更するプロジェクトの名前。

    • topicName: トピックの名前。

    • lifeCycle: トピックの TTL。

    • comment: トピックの説明。

  • 例外

    • DatahubClientException

    • InvalidParameterException

    • AuthorizationFailureException

    • ResourceNotFoundException

  • public static void updatetopic() {
      try {
          int lifeCycle = 7; // TTL を 7 に設定
          String comment = "test"; // コメントを "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"); // AKエラーのメッセージ
          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);
      }
    }