ステップ 1: DataHub サービスの有効化
-
DataHub コンソールにログインします。
-
画面の指示に従ってサービスを有効化します。
ステップ 2: プロジェクトとトピックの作成
-
DataHub コンソールにログインします。
-
[プロジェクトの作成] をクリックします。ダイアログボックスで、[名前] (3~32 文字。英字で始まり、英字、数字、アンダースコアのみ使用できます) と [説明] (最大 1,024 文字) を設定し、[作成] をクリックします。
|
パラメーター |
説明 |
|
プロジェクト |
プロジェクトは DataHub の基本的な組織単位であり、1 つ以上のトピックが含まれます。DataHub のプロジェクトは MaxCompute のプロジェクトとは独立しています。DataHub で個別にプロジェクトを作成する必要があります。 |
|
説明 |
プロジェクトの説明です。 |
3. プロジェクトの詳細ページで、[トピックの作成] をクリックします。[新しいトピック] ダイアログボックスの [作成方法] で、[直接作成] または [MaxCompute テーブルスキーマのインポート] を選択します。
|
パラメーター |
説明 |
|
作成方法 |
トピックを最初から作成するか、既存の MaxCompute テーブルからスキーマをインポートします。 |
|
名前 |
トピックの名前です。 |
|
タイプ |
トピックのタイプです。 |
|
スキーマ詳細 |
|
|
シャード数 |
トピック内のデータ転送用の同時実行チャネルです。各シャードには ID と、 |
|
ライフサイクル |
トピックのデータ保持期間 (日数) です (1~7)。この値を変更するには、Java SDK を使用します。 |
|
説明 |
トピックの説明です。 |
ステップ 3: データの書き込み
DataHub は、複数のデータインジェスト方法をサポートしています。ログには Flume、データベースには DTS または Canal、あるいは SDK を使用できます。この例では、コンソールツールを使用してファイルをアップロードします。
-
コンソールツールパッケージ (コンソールコマンドラインツール) をダウンロードして解凍し、AccessKey ペアとエンドポイントを設定します。
-
ufコマンドを使用してファイルをアップロードします。uf -f /temp/test.csv -p test_topic -t test_topic -m "," -n 1000 -
データが書き込まれたか確認します。トピックの詳細ページの [Shard リスト] タブで、最終書き込み時刻と合計データ量を確認します。
-
[サンプルデータ] でデータ品質を確認します。
-
サンプリングするシャードと開始時刻を選択します。
-
[サンプル] をクリックしてデータを表示します。
-
サンプリングダイアログボックスで、[サンプル数] (デフォルト:20) を設定し、[フィルターフィールドの選択] を使用して特定のフィールドで絞り込みます。
ステップ 4: データの同期
この例では、MaxCompute にデータを同期する方法を説明します。
-
プロジェクトリスト/プロジェクト詳細/トピック詳細ページに移動します。 -
右上隅にある
[+ Sync]をクリックして、同期タスクを作成します。 -
MaxCompute ジョブタイプを選択します:
1)
TUPLEタイプの同期では、[新しいコネクタ] ダイアログボックスで次のパラメーターを設定します: [プロジェクト名]、[テーブル名]、[AccessKey ID]、[AccessKey Secret]、[インポートするフィールド]、[パーティションモード]、[パーティション設定]、[パーティション間隔]、[タイムゾーン]、[開始時刻]、[TimestampUnit]。完了したら、[作成] をクリックします。
主な設定に関する注記:
コンソールベースの同期タスクの主要な設定パラメーターを以下に説明します。高度なオプションについては、SDK を使用してください。
-
インポートするフィールド
特定の列のみを MaxCompute テーブルに同期します。
-
パーティションモード
データを受信する MaxCompute パーティションを決定します。サポートされているモードは次のとおりです:
|
パーティションモード |
パーティションの基準 |
サポートされているタイプ |
説明 |
|
USER_DEFINE |
レコード内のパーティション列の値。列名は MaxCompute のパーティションフィールドと一致する必要があります。 |
TUPLE |
(1) DataHub スキーマには、MaxCompute パーティションフィールドを含める必要があります。(2) この列の値は |
|
SYSTEM_TIME |
レコードが DataHub に書き込まれた時刻。 |
TUPLE / BLOB |
(1) [パーティション設定] で、タイムスタンプを MaxCompute パーティションに変換するためのフォーマットを設定します。(2) タイムゾーンを設定します。 |
|
EVENT_TIME |
レコードの |
TUPLE |
(1) [パーティション設定] で、タイムスタンプを MaxCompute パーティションに変換するためのフォーマットを設定します。(2) タイムゾーンを設定します。 |
|
META_TIME |
レコードの |
TUPLE / BLOB |
(1) [パーティション設定] で、タイムスタンプを MaxCompute パーティションに変換するためのフォーマットを設定します。(2) タイムゾーンを設定します。 |
SYSTEM_TIME、EVENT_TIME、および META_TIME モードは、タイムスタンプとタイムゾーンを使用して MaxCompute パーティションを決定します。デフォルトのタイムスタンプ単位はマイクロ秒です。
-
パーティション設定は、タイムスタンプを MaxCompute パーティションに変換します。コンソールでは、デフォルトで固定のパーティションフォーマットが使用されます:
|
パーティション |
時間フォーマット |
説明 |
|
ds |
%Y%m%d |
日 |
|
hh |
%H |
時 |
|
mm |
%M |
分 |
-
タイムスタンプを MaxCompute パーティションに変換するための時間間隔。範囲:
15 分~1,440 分 (1 日)、15 分刻みです。 -
タイムスタンプを MaxCompute パーティションに変換するために使用されるタイムゾーンです。
-
BLOB データについては、MaxCompute に同期する前に、16進数の区切り文字を指定してレコードを分割します。 たとえば、
0Aは改行文字 (\n) を表します。 -
DataHub は BLOB データをバイナリとして保存しますが、MaxCompute の列は STRING 型を使用します。コンソールは、同期前にデフォルトで BLOB データを Base64 エンコードします。高度なオプションについては、SDK を使用してください。
ステップ 5: 同期タスクの表示
コネクタの詳細ページには、タスクのステータス、チェックポイント情報、および 同期レイテンシー、DoneTime、ダーティデータ数などの監視メトリクスが表示されます。タスクの再起動や停止、同期タスクフィールドの管理ができます。更新はすぐに有効になります。
詳細については、「MaxCompute へのデータ同期タスクの作成」をご参照ください。