ステップ 1:DataHub の有効化
DataHub コンソールにログインします。
ページ上のプロンプトに従ってサービスを有効化します。
ステップ 2:プロジェクトと Topic の作成
DataHub コンソールにログインします。
[プロジェクトの作成] ボタンをクリックし、必要な情報を入力してプロジェクトを作成します。
パラメーター | 説明 |
プロジェクト | プロジェクトは DataHub のデータにおける基本的な組織単位であり、複数の Topic を含みます。DataHub のプロジェクトと MaxCompute のプロジェクトは互いに独立しています。MaxCompute で作成されたプロジェクトは DataHub では再利用できません。別途作成する必要があります。 |
説明 | プロジェクトの説明です。 |
3. プロジェクトの詳細ページで、[Topic の作成] ボタンをクリックして Topic を作成します。
パラメーター | 説明 |
作成 | プロジェクトは DataHub のデータにおける基本的な組織単位です。プロジェクトには複数の Topic が含まれます。DataHub のプロジェクトは MaxCompute のプロジェクトから独立しています。MaxCompute で作成されたプロジェクトは DataHub では使用できず、別途作成する必要があります。 |
名前 | Topic の説明です。 |
タイプ | Topic カテゴリです。`TUPLE` は構造化データを、`BLOB` は非構造化データを表します。 |
スキーマ詳細 | TUPLE タイプを選択すると、スキーマ詳細が表示されます。必要に応じてフィールドを作成します。NULL 値を許可する場合、アップストリームデータに値がない場合、フィールドは自動的に NULL に設定されます。それ以外の場合、システムは厳密なチェックを行い、フィールドタイプが一致しない場合は書き込みエラーが発生します。 |
シャード数 | シャードは、Topic 内のデータ転送のための同時実行チャンネルです。各シャードには一意の ID があります。シャードには `Opening` (開始中) や `Active` (開始済みでサービス提供可能) など、複数の状態があります。有効化された各シャードはサーバー側のリソースを消費します。必要に応じてシャード数をリクエストしてください。 |
ライフサイクル | Topic に書き込まれたデータを保存できる最大期間 (日数) です。最小値は 1、最大値は 7 です。ライフサイクルを変更するには、Java SDK を使用します。 |
説明 | Topic の説明です。 |
ステップ 3:データの書き込み
DataHub は、複数のデータ書き込みメソッドをサポートしています。ログには Flume などのプラグインを、データベースには DTS や Canal を使用できます。SDK を使用してデータを書き込むこともできます。この例では、コンソールツールを使用してファイルをアップロードすることでデータを書き込む方法を示します。
コンソールツールのパッケージをダウンロードして解凍します。AccessKey とエンドポイント情報を構成します。詳細については、「コンソールコマンドツール」をご参照ください。
`uf` コマンドを実行してファイルをアップロードします。
uf -f /temp/test.csv -p test_topic -t test_topic -m "," -n 1000Web コンソールで、データが正常に書き込まれたかどうかを確認します。データ書き込みステータス、最新のデータ書き込み時刻、および総データ量を確認できます。
サンプルデータ:データ品質を確認するためのものです。
サンプリングするシャードと開始時刻を選択します。
[サンプリング] をクリックしてデータを表示します。
ステップ 4:データの同期
次の例では、MaxCompute を同期する方法を示します。
プロジェクトリスト > プロジェクト詳細 > トピック詳細ページに移動します。右上隅にある
+ 同期ボタンをクリックして、同期タスクを作成します。MaxCompute ジョブタイプを選択します。
パラメーターの説明
このセクションでは、コンソールで同期タスクを作成するための一部のパラメーターについて説明します。より柔軟な操作を行うには、SDK を使用できます。
フィールドのインポート
構成に基づいて、DataHub の特定の列から MaxCompute テーブルにデータを同期できます。
パーティションモード
パーティションモードは、データが書き込まれる MaxCompute のパーティションを決定します。DataHub は、次のパーティションモードをサポートしています:
パーティションパターン | パーティションの基準 | サポートされる Topic タイプ | 説明 |
USER_DEFINE | Record 内のパーティションキー列の値。列名は MaxCompute のパーティションフィールドと同じです。 | TUPLE | (1). DataHub のスキーマには、MaxCompute のパーティションフィールドが含まれている必要があります。(2). この列の値は |
SYSTEM_TIME | Record が DataHub に書き込まれた時刻。 | TUPLE / BLOB | (1). パーティション構成で、MaxCompute パーティションの時刻変換フォーマットを設定します。(2). タイムゾーン情報を設定します。 |
EVENT_TIME | Record 内の | TUPLE | (1). パーティション構成で、MaxCompute パーティションの時刻変換フォーマットを設定します。(2). タイムゾーン情報を設定します。 |
META_TIME | Record の | TUPLE / BLOB | (1). パーティション構成で、MaxCompute パーティションの時刻変換フォーマットを設定します。(2). タイムゾーン情報を設定します。 |
SYSTEM_TIME、EVENT_TIME、および META_TIME モードは、タイムスタンプとタイムゾーン構成を使用して MaxCompute パーティションを決定します。タイムスタンプのデフォルトの単位はマイクロ秒です。
パーティション構成は、タイムスタンプが MaxCompute パーティション用にどのように変換されるかを決定します。デフォルトでは、コンソールは固定の MaxCompute パーティションフォーマットを使用します。パーティション構成は次のとおりです:
パーティション | 時刻フォーマット | 説明 |
ds | %Y%m%d | 日 |
hh | %H | 時 |
mm | %M | 分 |
パーティション間隔は、MaxCompute パーティション用にタイムスタンプを変換する時間間隔を決定します。時間範囲は
15 分から 1440 分 (1 日)で、ステップ間隔は15 分です。タイムゾーンパラメーターは、タイムスタンプに基づいて MaxCompute をパーティション分割する際に使用されるタイムゾーンを指定します。
BLOB データを同期する場合、16 進数の区切り文字を指定してデータを分割してから MaxCompute に同期できます。たとえば、
0Aは改行 (\n)を表します。デフォルトでは、DataHub の BLOB Topic はバイナリデータを格納します。MaxCompute 同期タスクの対応する列は STRING 型です。したがって、コンソールで同期タスクを作成する場合、データは同期前にデフォルトで Base64 エンコードされます。より詳細なカスタマイズを行うには、SDK を使用できます。
ステップ 6:同期タスクの表示
対応するコネクタの詳細ページで、同期タスクの実行ステータスとチェックポイント情報を表示できます。この情報には、同期チェックポイント、同期ステータス、および再起動や停止などの操作が含まれます。
詳細については、「MaxCompute 同期タスクの作成」をご参照ください。