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

DataHub:コマンドラインインターフェイス

最終更新日:Mar 13, 2026

コンソールコマンドラインインターフェイスを使用して、DataHub プロジェクトにアクセスし、コマンドを実行できます。このトピックでは、クライアントのインストール、設定、および実行方法、ならびに使用方法について説明します。

前提条件

コンソールコマンドラインインターフェイスを使用する前に、次の要件が満たされていることを確認してください。

  • コンソールクライアントをインストールするデバイスに Java 8 以降のバージョンがインストールされていること。

コンソールクライアントのインストールと設定

  1. datahub_console.tar.gz パッケージをダウンロードし、解凍します。

  2. パッケージを解凍すると、bin、conf、および lib フォルダが見つかります。

  3. conf フォルダに移動し、datahub.properties ファイルに AccessKey とエンドポイント情報を入力します。ファイルの内容は次のとおりです。

datahub.accessid=
datahub.accesskey=
datahub.endpoint=

パラメーターは次のとおりです。

パラメーター

必須

説明

datahub.accessid

はい

ご利用の Alibaba Cloud アカウントまたは Resource Access Management (RAM) ユーザーの AccessKey ID。

N/A

datahub.accesskey

はい

AccessKey ID に対応する AccessKey Secret。

N/A

datahub.endpoint

はい

DataHub サービスのエンドポイント。

DataHub プロジェクトを作成したときに選択したリージョンとネットワーク接続タイプに基づいて、エンドポイントを設定する必要があります。異なるリージョンとネットワークタイプのエンドポイントの詳細については、「DataHub ドメイン」をご参照ください。

https://dh-cn-hangzhou.aliyuncs.com

コンソールクライアントの実行

次のいずれかの方法でコンソールクライアントを起動できます。

  • 方法 1: コンソールクライアントのインストールパスにある bin フォルダで、datahubcmd.bat ファイル (Windows の場合) をダブルクリックしてコンソールクライアントを起動します。クライアントが起動したことを示す次の情報が返されます。

  • 方法 2: オペレーティングシステムのコマンドラインウィンドウで、コンソールクライアントのインストールパスにある bin フォルダに移動します。datahubcmd コマンド (Windows の場合) または sh datahubcmd.sh コマンド (Linux または macOS の場合) を実行してクライアントを起動します。次の図は、クライアントが DataHub に接続されていることを示しています。

コマンドヘルプの取得

次のいずれかの方法で、コンソールクライアントコマンドのヘルプを取得できます。

方法 1: コンソールクライアントでコマンドヘルプ情報を表示

  • すべてのコマンドのヘルプを表示。

help
  • キーワードを指定して関連コマンドのヘルプ情報を表示。

たとえば、Topic のリストを取得するには、次のようにします。

DataHub=>help lt
NAME
        lt - List topic

SYNOPSYS
        lt [-p] string

OPTIONS
        -p  string
                projectName
                [Mandatory]

方法 2: オペレーティングシステムのコマンドラインウィンドウで、コンソールクライアントのインストールパスにある bin フォルダに切り替えます。次のコマンドを実行して、すべてのコマンドのヘルプ情報を表示します。

...\bin>datahubcmd help

使用ガイド

プロジェクト操作

プロジェクトの作成

  • -p: プロジェクト名。

  • -c: プロジェクトの説明。

cp -p test_project  -c test_comment

プロジェクトの削除

  • -p: プロジェクト名。

dp -p test_project

注: プロジェクトを削除する前に、Topic、サブスクリプション、同期タスクを含むプロジェクト内のすべてのリソースを削除する必要があります。そうしないと、削除に失敗します。

プロジェクトのリストの取得

lp

Topic 操作

Topic の作成

  • -p: プロジェクト名。

  • -t: Topic 名。

  • -m: Topic カテゴリ。BLOB は BLOB Topic を示し、TUPLE は TUPLE Topic を示します。

  • -f: TUPLE Topic のフィールド形式は [(fieldName,fieldType,isNull)] です。複数のフィールドはコンマ (,) で区切ります。

  • -s: シャード数。

  • -l: データの存続時間 (日数)。有効な値: 1 ~ 7。

  • -c: Topic の説明。

ct -p test_project -t test_topic -m TUPLE -f [(name,string,true)] -s 3 -l 3 -c test_comment

Topic の削除

  • -p: プロジェクト名。

  • -t: Topic 名。

dt -p test_project -t test_topic

Topic 情報の取得

  • -p: プロジェクト名。

  • -t: Topic 名。

gt -p test_project -t test_topic

Topic スキーマを JSON ファイルにエクスポート

  • -f: ファイルの保存パス。

  • -p: プロジェクト名。

  • -t: Topic 名。

gts -f filepath -p test_project -t test_topic

Topic のリストの取得

  • -p: プロジェクト名。

lt -p test_project

JSON ファイルから Topic を作成

  • -s: シャード数。

  • -l: データの存続時間 (日数)。有効な値: 1 ~ 7。

  • -f: ファイルパス。

  • -p: プロジェクト名を指定します。

  • -t: Topic 名。

rtt -s 3 -l 3 -c test_comment -f filepath -p test_project -t test_topic

Topic のライフサイクルの変更

  • -p: プロジェクト名を指定します。

  • -t: Topic 名。

  • -l: Topic のライフサイクルを指定します。

  • -c: Topic の説明。

utl -p test_project -t test_topic -l 3 -c test_comment

コネクタ操作

ODPS コネクタの作成

  • -p: プロジェクト名。

  • -t: Topic 名。

  • -m: 同期タイプ。ODPS でサポートされている同期タイプは、SYSTEM_TIME、USER_DEFINE、EVENT_TIME、および META_TIME です。

  • -e: ODPS エンドポイント。クラシックネットワークエンドポイントを入力する必要があります。

  • -op: ODPS プロジェクト名。

  • -oa: ODPS にアクセスするために使用される AccessKey ID。

  • -ok: ODPS にアクセスするために使用される AccessKey。

  • -tr: パーティション間隔 (分単位)。コンソールツールのデフォルト値は 60 です。

  • -tf: パーティション形式。`ds` は日によるパーティション分割を示し、`ds hh` は時間によるパーティション分割を示し、`ds hh mm` は分によるパーティション分割を示します。

coc -p test_project -t test_topic -m SYSTEM_TIME -e odpsEndpoint -op odpsProject -ot odpsTable -oa odpsAccessId -ok odpsAccessKey -tr 60 -c (field1,field2) -tf ds hh mm

ODPS 同期用のフィールドを追加

  • -p: プロジェクト名。

  • -t: Topic 名。

  • -c: コネクタ ID。ID は [データ同期] タブで確認できます。

  • -f: 新しいフィールドの名前。

acf -p test_project -t test_topic -c connectorId -f fieldName

MySQL または RDS にデータを同期するコネクタの作成

  • -p: プロジェクト名。

  • -t: Topic 名。

  • -h: ホスト。クラシックネットワークアドレスを入力する必要があります。

  • -po: ポート。

  • -ty: 同期タイプ。次の 2 種類があります。

  • SINK_MYSQL: MySQL にデータを同期するコネクタを作成します。

  • SINK_ADS: ADS にデータを同期するコネクタを作成します。

  • -d: データベース名を指定します。

  • -ta: テーブル名。

  • -u: ユーザー名。

  • -pa: パスワード。

  • -ht: 挿入モード。次の 2 つのモードがあります。

  • IGNORE

  • OVERWRITE

  • -n: 同期するフィールド。例: (field1,field2)。

cdc -p test_project -t test_topic -h host -po 3306 -ty mysql -d mysql_database -ta msyql_table -u username -pa password -ht IGNORE -n (field1,field2)

DataHub コネクタの作成

  • -p: プロジェクト名。

  • -t: Topic 名。

  • -sp: データがインポートされるシンクプロジェクト。

  • -st: データがインポートされるシンク Topic。

  • -m: 認証タイプ。

  • AK: AccessKey を使用した認証。AccessKey ID と AccessKey Secret を指定する必要があります。

  • STS を使用して認証が実行されることを指定します。

cdhc -p test_project -t test_topic -sp sinkProject -st sinkTopic -m AK -i accessid k accessKey

FC コネクタの作成

  • -p: プロジェクト名。

  • -t: Topic 名。

  • -e: FC エンドポイント。クラシックネットワークエンドポイントを入力する必要があります。

  • -s: FC サービス名。

  • -f: FC 関数の名前。

  • -au: 認証方式。

  • AK: AccessKey を使用した認証。AccessKey ID と AccessKey Secret を指定する必要があります。

  • STS: STS を使用した認証。

  • -n: 同期するフィールド。例: (field1,field2)。

cfc -p test_project -t test_topic -e endpoint -s service -f function -au AK -i accessId -k accessKey -n (field1,field2)

Hologres コネクタの作成

  • -p: プロジェクト名。

  • -t: Topic 名。

  • -e: エンドポイント。

  • -cl: Hologres に同期するフィールド。

  • -au: 認証方式。現在、Hologres へのデータ同期では AccessKey 認証のみがサポートされています。

  • -m: 解析タイプ。Delimiter を選択した場合は、lineDelimiter、parseData、および columnDelimiter プロパティを指定する必要があります。InformaticaJson を選択した場合は、parseData プロパティを指定する必要があります。

  • Delimiter

  • InformaticaJson

chc -p test_project -t test_topic -e endpoint -cl (field,field2) -au AK -hp holoProject -ht holoTopic -i accessId -k accessKey -m Delimiter -l 1 -b false -n (field1,field2)

OTS コネクタの作成

  • -p: プロジェクト名。

  • -t: Topic 名。

  • it: OTS インスタンスの名前。

  • -m: 認証タイプ。デフォルトでは STS が使用されます。

  • AK: AccessKey を使用した認証。AccessKey ID と AccessKey Secret を指定する必要があります。

  • STS: STS を使用した認証。

  • -t: OTS テーブル名。

  • -wm: 書き込みモード。次の 2 つの書き込みモードがサポートされています。

  • PUT

  • UPDATE

  • -c: 同期するフィールド。例: (field1,field2)。

cotsc -p test_project -t test_topic -i accessId -k accessKey -it instanceId -m AK -t table -wm PUT -c (field1,field2)

OSS コネクタの作成

  • -p: プロジェクト名。

  • -t: Topic 名。

  • -b: OSS バケット名。

  • -e: OSS エンドポイント名。

  • -pr: OSS へのデータ同期のディレクトリプレフィックス。

  • -tf: 同期時間形式。例: %Y%m%d%H%M は分によるパーティション分割を示します。

  • -tr: パーティション間隔。

  • -c: 同期するフィールド。

csc -p test_project -t test_topic -b bucket -e endpoint -pr ossPrefix -tf ossTimeFormat -tr timeRange -c (f1,f2)

コネクタの削除

  • -p: プロジェクト名。

  • -t: Topic 名。

  • -c: コネクタ ID。ID は [データ同期] タブで確認できます。

dc -p test_project -t test_topic -c connectorId

コネクタの詳細の取得

  • -p: プロジェクト名。

  • -t: Topic 名。

  • -c: コネクタ ID。ID は [データ同期] タブで確認できます。

gc -p test_project -t test_topic -c connectorId

Topic 内のコネクタのリストの取得

  • -p: プロジェクト名。

  • -t: Topic 名。

lc -p test_project -t test_topic

コネクタの再起動

  • -p: プロジェクト名。

  • -t: Topic 名。

  • -c: コネクタ ID。ID は [データ同期] タブで確認できます。

rc -p test_project -t test_topic -c connectorId

コネクタの AccessKey の更新

  • -p: プロジェクト名。

  • -t: Topic 名。

  • -ty: 同期タイプ。例: SINK_ODPS。

uca -p test_project -t test_topic -ty SINK_ODPS  -a accessId -k accessKey

シャード操作

シャードのマージ

  • -p: プロジェクト名を指定します。

  • -t: Topic 名。

  • -s: マージするシャードの ID。

  • -a: マージするもう一方のシャードの ID。

ms -p test_project -t test_topic -s shardId -a adjacentShardId

シャードの分割

  • -p: プロジェクト名。

  • -t: Topic 名。

  • -s: 分割するシャードの ID。

ss -p test_project -t test_topic -s shardId

Topic 内のすべてのシャードの取得

  • -p: プロジェクト名。

  • -t: Topic 名。

ls -p test_project -t topicName

シャードの同期ステータスの取得

  • -p: プロジェクト名。

  • -t: Topic 名。

  • -s: シャード ID。

  • -c: コネクタ ID。ID は [データ同期] タブで確認できます。

gcs -p test_project -t test_topic -s shardId -c connectorId

サブスクリプションの各シャードのコンシューマオフセットの取得

  • -p: プロジェクト名。

  • -t: Topic 名。

  • -s: サブスクリプション ID。

  • -i: シャード ID。

gso -p test_project -t test_topic -s subid -i shardId

サブスクリプション操作

サブスクリプションの作成

  • -p: プロジェクト名。

  • -t: Topic 名。

  • -c: サブスクリプションの説明。

css -p test_project -t test_topic -c comment

サブスクリプションの削除

  • -p: プロジェクト名。

  • -t: Topic 名。

  • -s: サブスクリプション ID。

dsc -p test_project -t test_topic -s subId

サブスクリプションのリストのクエリ

  • -p: プロジェクト名。

  • -t: Topic 名。

lss -p test_project -t test_topic

データのアップロードとダウンロード

データのアップロード

  • -f: ファイルパス。注: Windows のパスの場合、エスケープ文字を追加する必要があります。例: D:\\test\\test.txt。

  • -p: プロジェクト名。

  • -t: Topic 名。

  • -m: テキスト区切り文字。コンマ (,) とスペースがサポートされています。

  • -n: 各アップロードのバッチサイズ。デフォルト値は 1000 です。

uf -f filepath -p test_topic -t test_topic -m "," -n 1000

例: CSV ファイルのアップロード

この例では、コンソールコマンドラインインターフェイスを使用して CSV ファイルを DataHub にアップロードする方法を示します。CSV ファイルのフォーマットは次のとおりです。

1. 0,qe614c760fuk8judu01tn5x055rpt1,true,100.1,14321111111
2. 1,znv1py74o8ynn87k66o32ao4x875wi,true,100.1,14321111111
3. 2,7nm0mtpgo1q0ubuljjjx9b000ybltl,true,100.1,14321111111
4. 3,10t0n6pvonnan16279w848ukko5f6l,true,100.1,14321111111
5. 4,0ub584kw88s6dczd0mta7itmta10jo,true,100.1,14321111111
6. 5,1ltfpf0jt7fhvf0oy4lo8m3z62c940,true,100.1,14321111111
7. 6,zpqsfxqy9379lmcehd7q8kftntrozb,true,100.1,14321111111
8. 7,ce1ga9aln346xcj761c3iytshyzuxg,true,100.1,14321111111
9. 8,k5j2id9a0ko90cykl40s6ojq6gruyi,true,100.1,14321111111
10. 9,ns2zcx9bdip5y0aqd1tdicf7bkdmsm,true,100.1,14321111111
11. 10,54rs9cm1xau2fk66pzyz62tf9tsse4,true,100.1,14321111111

CSV ファイルでは、各行が Record であり、フィールドはコンマ (,) で区切られています。ファイルはローカルパス /temp/test.csv に保存されます。DataHub Topic のフォーマットは次のとおりです。

フィールド名

フィールドタイプ

id

BIGINT

name

STRING

gender

BOOLEAN

salary

DOUBLE

my_time

TIMESTAMP

コンソールツールのコマンドは次のとおりです。

uf -f /temp/test.csv -p test_topic -t test_topic -m "," -n 1000

データのダウンロード

  • -f: ファイルパス。注: Windows のパスの場合、エスケープ文字を追加する必要があります。例: D:\\test\\test.txt。

  • -p: プロジェクト名。

  • -t: Topic 名。

  • -s: シャード ID。

  • -d: サブスクリプション ID。

  • -f: ダウンロードパス。

  • -ti: データを読み取る開始時点。フォーマットは yyyy-mm-dd hh:mm:ss です。

  • -l: 毎回読み取るレコード数。

  • -g: データを継続的に読み取るかどうかを指定します。

  • 0: 1 回のみ読み取ります。現在のレコード数が読み取られた後、消費は停止します。

  • 1: 継続的に読み取ります。

down -p test_project -t test_topic -s shardId -d subId -f filePath -ti "1970-01-01 00:00:00" -l 100 -g 0

よくある質問

  • スクリプトの起動に失敗します: Windows 環境でスクリプトを実行する場合、スクリプトパスに括弧が含まれているかどうかを確認してください。