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

DataHub:コンソール コマンドライン ツール

最終更新日:Jan 22, 2025

コンソール コマンドライン ツール

準備

datahub_console.tar.gz パッケージをダウンロードして解凍します。 conf ディレクトリの datahub.properties ファイルに AccessKey ペアとエンドポイントを入力します。構成が完了したら、bin ディレクトリにあるスクリプトを実行します。

:

  • Java 開発キット (JDK) 1.8 以降が使用されます。

手順

基本操作

  • 実行可能なすべてのコマンドを表示します。

  • 別のコマンドを help に追加して、コマンドに必要なパラメータを表示します。たとえば、help lt コマンドを実行して、lt コマンドに必要なパラメータを表示します。

help
  • 画面をクリアします。

clear
  • プログラムを終了します。

exit
  • コマンド エラーの詳細を表示します。コマンド エラーが報告された後、stacktrace コマンドを実行してエラーの詳細を表示できます。

stacktrace
  • 複数コマンド スクリプトを実行します。

script

プロジェクトの管理

  • プロジェクトを作成します。

cp -p test_project -c test_comment
  • プロジェクトを削除します。

dp -p test_project
  • プロジェクトをクエリします。

lp

トピックの管理

  • トピックを作成します。

    • -m: トピックのデータ型。 BLOB の値は、BLOB 型のトピックが作成されることを示します。 TUPLE の値は、TUPLE 型のトピックが作成されることを示します。

    • TUPLE 型のトピックのフィールドは、[(fieldName,fieldType,isNull)] の形式です。フィールドはカンマ (,) で区切ります。

ct -p test_project -t test_topic -m TUPLE -f [(name,string,true)] -s 3 -l 3 -c test_comment
  • トピックを削除します。

dt test_project test_topic
  • トピックに関する情報をクエリします。

gt -p test_project -t test_topic
  • トピックのスキーマを JSON ファイルとしてエクスポートします。

gts -f filepath -p test_project -t test_topic
  • トピックをクエリします。

lt -p test_project
  • JSON ファイルをインポートしてトピックを作成します。

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

DataConnector の管理

  • MaxCompute にデータを同期するための DataConnector を作成します。

    • -m: パーティション モード。有効な値: SYSTEM_TIME、USER_DEFINE、EVENT_TIME、および META_TIME。

    • -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
  • DataConnector のフィールドを作成します。

acf -p test_project -t test_topic -c connectorId -f fieldName
  • ApsaraDB RDS、ApsaraDB RDS for MySQL、または AnalyticDB for MySQL にデータを同期するための DataConnector を作成します。

    • -ty: DataConnector のタイプ。有効な値:

      • mysql: ApsaraDB RDS for MySQL にデータを同期するための DataConnector を作成します。

      • ads: AnalyticDB for MySQL にデータを同期するための DataConnector を作成します。

    • -ht: 書き込みモード。有効な値:

      • 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)
  • DataConnector を作成します。

    • -m: 認証方式。有効な値:

      • AK: 認証に AccessKey ペアを使用します。 AccessKey ID と AccessKey シークレットを入力する必要があります。

      • STS: セキュリティトークンサービス (STS) トークンを使用して認証します。

cdhc -p test_project -t test_topic -sp sourceProject -st sourceTopic -m AK -i accessid k accessKey
  • Function Compute にデータを同期するための DataConnector を作成します。

    • -au: 認証方式。有効な値:

      • AK: 認証に AccessKey ペアを使用します。 AccessKey ID と AccessKey シークレットを入力する必要があります。

      • 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 にデータを同期するための DataConnector を作成します。

    • -au: 認証方式。認証には AccessKey ペアのみを使用できます。

    • -m: 解析タイプ。このオプションを Delimiter に設定した場合は、lineDelimiter、parseData、および columnDelimiter フィールドを指定する必要があります。このオプションを IngormaticaJson に設定した場合は、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)
  • Tablestore にデータを同期するための DataConnector を作成します。

    • -m: 認証方式。デフォルト値: STS。有効な値:

      • AK: 認証に AccessKey ペアを使用します。 AccessKey ID と AccessKey シークレットを入力する必要があります。

      • STS: STS トークンを使用して認証します。

    • -wm: 書き込みモード。有効な値:

      • 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)
  • Object Storage Service (OSS) にデータを同期するための DataConnector を作成します。

csc -p test_project -t test_topic -b bucket -e endpoint -pr ossPrefix -tf ossTimeFormat -tr timeRange -c (f1,f2)
  • DataConnector を削除します。

    • 複数の DataConnector ID を指定できます。 ID はスペースで区切ります。

dc -p test_project -t test_topic -c connectorId
  • DataConnector の詳細をクエリします。

gc -p test_project -t test_topic -c connectorId
  • トピック内の DataConnector をクエリします。

lc -p test_project -t test_topic
  • DataConnector を再起動します。

rc -p test_project -t test_topic -c connectorId
  • DataConnector の AccessKey ペアを更新します。

uca -p test_project -t test_topic -c connectorId -ty connectorType -a accessId -k accessKey

シャードの管理

  • シャードをマージします。

ms -p test_project -t test_topic -s shardId -a adjacentShardId
  • シャードを分割します。

ss -p test_project -t test_topic -s shardId
  • トピック内のすべてのシャードをクエリします。

ls -p test_project -t topicName
  • シャードの同期ステータスをクエリします。

gcs -p test_project -t test_topic -s shardId -c connectorId
  • 各シャードのコンシューマ オフセットをクエリします。

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

サブスクリプションの管理

  • サブスクリプションを作成します。

css -p test_project -t test_topic -c comment
  • サブスクリプションを削除します。

dsc -p test_project -t test_topic -s subId
  • サブスクリプションをクエリします。

lss -p test_project -t test_topic

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

  • データをアップロードします。

    • -f: アップロードするファイルのパス。 Windows のパスにはエスケープ文字を追加します。たとえば、D:\\test\\test.txt です。

    • -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

各行は DataHub に書き込まれるレコードです。フィールドはカンマ (,) で区切られています。 CSV ファイルをオンプレミス コンピュータの /temp/test.csv として保存します。次の表は、CSV ファイルが書き込まれる DataHub トピックのスキーマを示しています。

フィールド名

データ型

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 です。

    • -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 でスクリプトを実行して、スクリプトのパスに括弧 () が含まれているかどうかを確認します。