Fivetranで月あたりのアクティブな行数を確認する方法

2021.03.31

東京では桜も開花して、すっかり季節は春です。
こんにちは。
データアナリティクス事業本部ソリューション部のshoです。

今回は、Fivetranの使用状況(クレジットの消費状況)を確認する方法についてご紹介していきたいと思います。
Fivetranは、データ連携を自動化できるサービスになります。
SalesforceやGoogle Analyticsなどの170以上のデータソースからデータを抽出、ロード、変換(いわゆるELT処理)を実施することが可能です。

Fivetranの課金体系は月間のアクティブな行数(追加、および更新のあった行数)がベースとなっているため、消費状況を確認することが重要です。
今回は、アクティブな行数の確認方法についてご紹介していきたいと思います。

使用状況確認方法

Fivetranにて、月間のアクティブな行数を確認する方法は以下の2つとなります。

  • Fivetranにログインし、ユーザーインターフェースにて確認する方法
  • Fivetran Log Connectorを使用し、データウェアハウスにて確認する方法

【ユーザーインターフェースにて確認する方法】

アカウント管理画面のUsageタブからコネクター単位で月当たり追加、および更新のあった行数(MAR:Monthly Active Rows)を確認することが可能です。また日ごとの行数が棒グラフで確認できるようになっており、カーソルをあわせることで該当日に最もアップデートのあったコネクターの情報を確認することができます。

コネクターをクリックすると、コネクター内のテーブル単位での行数を確認することができ、コネクターと同様に上部に表示されている棒グラフから日ごとの行数を確認することも可能です。

Usageタブにアクセスするためには、Account Owner、もしくはBillingの権限が必要となります。

【Fivetran Logコネクターを使用し、データウェアハウスにて確認する方法】

コネクターとして提供されているFivetran Logコネクターを使用し、データウェアハウスにてクエリを実行することによって、月当たり追加、および更新のあった行数(MAR:Monthly Active Rows)を確認することが可能です。 Fivetran Logコネクターは、他のコネクターと異なり、無償で利用することが可能なコネクターです。 今回はこちらを参照しながら、コネクターの追加、およびサンプルクエリの実行を実施しました。

Fivetran Logを追加する

  1. Fivetranのダッシュボードからコネクタータブにアクセスし、右上の“ADD CONNECTOR”をクリックします。
  2. コネクターの中からFivetran Logを選択します。
  3. セットアップ画面が起動するので、スキーマ名称を指定し、“SAVE &TEST”をクリックします。(デフォルトではfivetran_logとなっています。)
    ※アカウント内で複数のデータ同期先があり、そのすべての情報を収集したい場合は、アカウントレベルコネクターを有効化してください。
  4. 接続テストが開始し、完了したことが確認出来たら“VEW CONNECTOR”をクリックし、セットアップが完了します。
  5. 最後に、“START INITIAL SYNC”をクリックし、初期同期を開始してください。
    初期同期完了後、データウェアハウスにて使用状況が確認できるようになります。


各コネクターのテーブル単位での行数情報は上記にて設定したスキーマ名称内の“active volume”テーブルにて確認することができます。
active_voumeテーブルには、以下のような情報が保存されています。必要に応じたクエリを実行することによって、使用行数を確認することが可能です。

  • Fivetranがデータを同期した時間
  • コネクター名称
  • スキーマ名称
  • テーブル名称
  • 行数確認時刻
  • 追加/更新のあった行数

サンプルクエリ

※データ同期先によっては、クエリの変更が必要となる可能性があります。
今回はSnowflakeにて実行したクエリとなります。
■コネクター単位で行数を確認する

クエリ

select 
    av.schema_name,
    MAX(date(av.measured_at)) as last_measurement_date,
    SUM(av.monthly_active_rows) as monthly_active_rows
from [データベース名称].[Fivetran Logのスキーマ名称].active_volume av
Inner Join (
  select
    max(av.measured_at) max_measured_at,
    av.schema_name,
    av.table_name,
    av.destination_id,
    av.connector_id
  from [データベース名称].[Fivetran Logのスキーマ名称].active_volume av
  group by 2,3,4,5) mav
On date(mav.max_measured_at) = date(av.measured_at)
and mav.schema_name = av.schema_name
and mav.table_name = av.table_name
and mav.connector_id = av.connector_id
and mav.destination_id = av.destination_id
and av.schema_name != "[Fivetran Logのスキーマ名称]"
group by av.schema_name;


実行結果

SCHEMA_NAME LAST_MEASUREMENT_DATE MONTHLY_ACTIVE_ROWS
salesforce_production 2021-03-31 10000
google_analytics 2021-03-31 20000


■テーブル単位で行数を確認する

クエリ

select 
    av.schema_name,
    av.table_name,
    av.destination_id,
    av.connector_id,
    date(av.measured_at) as last_measurement_date,
    date(date_trunc(month,av.measured_at)) as utc_month,
    av.monthly_active_rows
from [データベース名称].[Fivetran Logのスキーマ名称].active_volume av
Inner Join (
  select
    max(av.measured_at) max_measured_at,
    av.schema_name,
    av.table_name,
    av.destination_id,
    av.connector_id
  from [データベース名称].[Fivetran Logのスキーマ名称].active_volume av
  group by 2,3,4,5) mav
On date(mav.max_measured_at) = date(av.measured_at)
and mav.schema_name = av.schema_name
and mav.table_name = av.table_name
and mav.connector_id = av.connector_id
and mav.destination_id = av.destination_id;

実行結果

SCHEMA_NAME TABLE_NAME DESTINATION_ID CONNECTOR_ID LAST_MEASUREMENT_DATE UTC_MONTH MONTHLY_ACTIVE_ROWS
salesforce_production account sample salesforce_production 2021-03-31 2021-03-01 1000
google_analytics traffic_report sample google_analytics 2021-03-31 2021-03-01 2000


■テーブルや期間を指定して行数を確認する

クエリ

select measured_at, table_name, monthly_active_rows
FROM [データベース名称].[Fivetran Logのスキーマ名称].active_volume
where table_name = '[テーブル名称]'
and measured_at >= '2021-03-01' and measured_at < '2021-04-01'
order by measured_at desc, table_name desc;

実行結果

MEASURED_AT TABLE_NAME MONTHLY_ACTIVE_ROWS
2021-03-01 00:00:00.000 +0000 account 1000
2021-03-02 00:00:00.000 +0000 account 1500

まとめ

今回は、Fivetranの使用状況を確認する方法についてご紹介しました。
Fivetran利用開始前のトライアル時に見積もりをする際や、利用開始後にクレジットの消費状況を確認する際にお役立てください。