メインコンテンツへスキップ

CSV 取り込み

Comma-separated values(CSV)は、データ交換で一般的に使用されるテキストファイル形式です。CSV ファイルをアップロードして、次のことができます。

  • 新しいデータセットを作成する
  • 既存のデータセットにレコードを追加する、またはレコードを上書きする

取り込み方法

DataHub は、CSV の取り込み方法を 2 つサポートします。

取り込み方法サポートされるファイル形式最大ファイルサイズ
DataHub API非圧縮、または単一の CSV ファイルを ZIP もしくは GZ に圧縮30 MB
DoiT コンソール非圧縮100 MB

次の点に注意してください。

  • DataHub API が受け付けるファイルは 30 MB 以下のみです。CSV が 30 MB を超える場合は、ZIP もしくは GZ 形式で圧縮してください。
  • DataHub API は、複数の CSV を含む ZIP または GZ アーカイブを受け付けません。
  • DoiT コンソール経由で CSV をアップロードする場合、大きなファイルは処理に時間がかかります。

構文と規約

DataHub 用の CSV を準備するには、以下の構文と規約に従ってください。

  • 値はカンマで区切る。
  • 各データレコードは新しい行に追加し、改行コードは Carriage Return and Line Feed(CRLF)を使用する。
  • 1 行目はヘッダー行とする。

【ヘッダー行の構文】: usage_date[,id],DIMENSION_KEY...,METRICS_TYPE...

  • ヘッダー行のフィールド名は正しい形式を使用してください。DoiT DataHub はフィールド名を変更しません。

  • usage_date:データレコードのタイムスタンプ(【RFC3339】https://datatracker.ietf.org/doc/html/rfc3339)。DataHub の【Events schema】https://developer.doit.com/docs/datahub-api#events-schema における time プロパティに対応します。

    • CSV ファイルに、2 年より前のタイムスタンプ(usage_date)を含むレコードを含めてはいけません。
    • タイムスタンプは、RFC 3339/ISO 8601 の UTC 形式のサブセットに厳密に従ってください:YYYY-MM-DDTHH:MM:SSZ(大文字の Z)。例:2025-07-23T18:24:34Z。この制約によりタイムゾーンのあいまいさを排除し、検証を簡素化します。
  • id:レコードの一意の識別子。DataHub Events schema の id プロパティに対応します。

    • 取り込み時に自動生成される UUIDv4 識別子を使用する場合は、このプロパティを CSV に含めないでください。
    • 既存のデータセット内のレコードを上書きする場合は、正しい id を CSV に含めてください。
  • DIMENSION_KEY:データセット内のディメンションのキー。少なくとも 1 つのディメンションキーが必要です。

    • 固定ディメンションについては、【Allowed keys for fixed dimensions】https://developer.doit.com/docs/datahub-api#allowed-keys-for-fixed-dimensions を参照してください。
      • 固定ディメンションは fixed を接頭辞として付与します(例:fixed.billing_account_idfixed.sku_description)。
      • 固定ディメンションは大文字小文字を区別しません。
      • 固定ディメンションの主なユースケースは、ユニットエコノミクス分析のためにビジネスデータとクラウドの請求データセットを結合することです。
    • ラベルディメンションの場合は、label.CUSTOM_DIMENSION_KEY 形式を使用します(例:label.foo)。ラベルディメンションは大文字小文字を区別します。
    • project_label ディメンションの場合は、project_label.DIMENSION_KEY 形式を使用します(例:project_label.app)。project_label ディメンションは大文字小文字を区別します。
    • system_label ディメンションの場合は、system_label.DIMENSION_KEY 形式を使用します(例:system_label.app)。system_label ディメンションは大文字小文字を区別します。
  • METRICS_TYPE:データセット内のメトリクスの種類。少なくとも 1 つのメトリックタイプが必要です。

    • metric.METRICS_TYPE 形式を使用します(例:metric.costmetric.usagemetric.savingsmetric.custom_metric)。
    • 基本メトリクス(metric.costmetric.usagemetric.savings)は大文字小文字を区別しません。その他のメトリックタイプは大文字小文字を区別します。
  • ヘッダー行のフィールドは任意の順序で並べることができます。取り込んだ CSV をプレビューする際、その順序は保持されます。

警告

DoiT に送信する前に、個人を特定できる情報(PII)をマスクするなど、データをサニタイズしてください。

CSV の例

以下は単純な CSV の例です。

Month,Territory,Cost
2024-03-01,AMER,$70000
2024-04-01,AMER,$70000
2024-05-01,AMER,$70000
2024-03-01,EMEA,$7500
2024-04-01,EMEA,$7500
2024-05-01,EMEA,$7500
2024-03-01,APAC,$3700
2024-04-01,APAC,$3700
2024-05-01,APAC,$3700

より多くの列を含むサンプル CSV を【ダウンロード】https://storage.googleapis.com/me-doit-intl-com-datahub-static/CSV-example.csv できます。

CSV をアップロード

必要な権限
  • DataHub Admin

以下では、DoiT コンソールを使用して CSV ファイルをアップロードする方法を説明します。DataHub API を使用したアップロードについては、【DataHub API】https://developer.doit.com/docs/datahub-api を参照してください。

CSV ファイルを正しく整形したら、【新しいデータセットを作成】/【データセットを更新】する際にアップロードできます。https://developer.doit.com/docs/integrations/datahub/datasets-ui#create-a-new-dataset https://developer.doit.com/docs/integrations/datahub/datasets-ui#update-a-dataset

  1. 「Import data」ダイアログで「Upload CSV file」を選択し、「Continue」を選択してください。

    画像:Import data options(@site/assets/png/console-datasets-import-data.png)

  2. 「Prepare file」:CSV ファイルが【構文と規約】#syntax-and-conventions に準拠していることを確認してください。「Next」を選択してください。

  3. 「Upload CSV」:アップロードする CSV ファイルを選択してください。このステップで CSV の検証も行います。

    画像:Upload CSV step 2(@site/assets/png/console-datasets-csv-upload.png)

  4. 「Preview」:このステップでは、目的のディメンションとメトリクスでデータが取り込まれることを確認します。

    画像:Upload CSV step 2(@site/assets/png/console-datasets-csv-upload-preview.png)

「Confirm upload」を選択すると、データの処理を開始します。データのアップロードが正常に完了すると、DoiT コンソールでデータが利用可能になるまで最大 15 分かかる場合があります。