DTSでの動的CSVファイルを取り込んでみた

Google Cloud
この記事は約4分で読めます。

こんにちは!伊藤です!
みなさんは定期的に出力されるCSVファイルを毎日取り込みたいと思ったことはないでしょうか?
今回はその時に使えるサービスと方法を紹介したいと思います。

本記事でわかること

  • DTSとランタイムパラメータについて
  • 日付が入ったファイルの取込方法
  • 日時取り込みの使いどころ

DTSとランタイムパラメータについて

BigQuery Data Transfer Service (DTS)とは、Google Cloud Platform(GCP)が提供する、様々なデータソースからBigQueryへのデータ転送を自動化するマネージドサービスです。

DTSを用いることでスケジュールを設定するだけで、定期的にデータがBigQueryに転送されます。
また転送スケジュール、データの抽出範囲などを細かく設定でき、転送中のデータは暗号化され、安全に転送されます。

今回使用するランタイムパラメータとは、DTSでデータ転送を行う際に動的に値が設定される変数のようなものです。
毎日、毎週など、定期的に生成される日付付きのファイルを取り込む場合、ランタイムパラメータに日付を指定することで、常に最新のデータを取り込むことができます。

では次の項目から日付が入ったファイルの取込方法についてご紹介します。

日付が入ったファイルの取込方法

テーブル作成

以下のようにBigQueryにデータ取り込み先テーブルを作成してください。
取り込むCSVファイルの列数とカラム数、データ型が同じになるように作成してください。

CSVファイルの用意

今回取り込みファイルを2つ作成してください。
ファイル名には日付を入れるように作成してください。
今回はfruit_YYYYMMDD.csvで作成しています。

作成したCSVファイルはCloud Storageのバケット内に格納する。

DTSの作成

「≡」アイコンを選択し、「すべてのプロダクトを表示」を選択してください。
次に「分析」を選択し、「BigQuery」を選択してください。

左サイドバーの「データ転送」を選択して、DTS作成画面に遷移してください。
「転送を作成」を選択して、作成画面に遷移してください。

今回はCloud Storageからファイルを取り込むため、Cloud Storageを選択してください。

DTSの設定について

以下の項目を画面から設定後、保存ボタンを押下し、DTSを作成してください。

表示名DTSの表示名を入力
繰り返しの頻度取込頻度を設定
時刻取込時刻を設定
データセットデータの取り込み先のテーブルがあるデータセットを設定
Destination table取り込み先テーブルを設定
Cloud Storage URI取り込みCSVファイルを設定
ランタイムパラメータとして{run_time|”%Y%m%d”}を設定するとYYYYMMDD形式として判定されるため、こちらを設定する。
例)バケット名/fruit_{run_time|”%Y%m%d”}.csv
File Format取り込みファイルの形式を選択
Header rows to skip取り込み時にスキップする行数を選択
今回のCSVファイルのヘッダは取り込まないため、1を入力

取込結果確認(1回目)

スケジュール通り取り込み処理が行われると、以下のように一つ目のファイルのみ取り込むことができます。

取込結果確認(2回目)

2回目の取り込み処理が行われると、以下のように二つ目のファイルを取り込むことができます。

まとめ

今回のようにDTSを使用することで、動的に変化される日付が入ったファイルを1つのDTSで取り込みことが可能です。

売上データやログデータなど定期的に生成されるファイルをBigQueryに取り込みたいときにとても役に立つツールかと思います。
取り込み先テーブルに対してクエリを実行してデータを見ることで、データ分析も可能です。
またCSVファイルのデータのバックアップ先としても利用可能です。

とても便利なサービスとなっておりますので、売上データやログデータなど定期的に生成されるファイルをBigQueryのテーブルに定期的に取り込みたい場合は、ぜひご利用してみてください。

Google および Google Cloud Platform™ service は Google LLC の商標であり、この記事は Google によって承認されたり、Google と提携したりするものではありません。

コメント

タイトルとURLをコピーしました