TROCCO クックブックをやってみた

## 概要

イベントで登壇した際に『TROCCO クックブック』を入手したため、その内容を実践しました。本記事では、実践にあたり必要となる環境準備や手順をまとめています。書籍では S3 を利用した例が掲載されていますが、今回は環境を容易に用意できる Google Drive を利用する形に変更しています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/f6145bba-0ebb-8a18-733c-52eeb71888ba.png)

**引用元**: [TROCCOを通じてデータエンジニアリングを学べる解説書「TROCCO クックブック」販売開始 | 株式会社primeNumberのプレスリリース](https://prtimes.jp/main/html/rd/p/000000100.000039164.html)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/96e961dc-00c9-251b-7eed-b9f72749632a.png)

**引用元**: [TROCCOで高めるDatabricksのポテンシャル～データレイクを生成AIで分析する新時代へ～ #trocco - Qiita](https://qiita.com/manabian/items/485a03ebaa4460f5364d)

Amazon でも購入可能です。

- [Amazon.co.jp: TROCCO クックブック〜今すぐ始めるデータエンジニアリング eBook : primeNumber: Kindle Store](https://www.amazon.co.jp/dp/B0DQR62SHJ)

## TROCCO 環境準備

TROCCO のフリープランを申し込みます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/9d5767f2-79da-31f3-fda4-cb0cfb08fcd9.png)

**引用元**: [フリープランお申し込み｜TROCCO®︎(トロッコ)](https://primenumber.com/trocco/contact/free-plan)



## CHAPTER 1

### 環境準備

#### Kintone 環境の準備

まずは Kintone の開発環境を準備します。  詳しい手順はこちらを参照してください。

- [kintone開発者ライセンス（開発環境）を申し込んでみた #kintone - Qiita](https://qiita.com/manabian/items/618599c430d3dd67e1fc)

次に、サンプルデータを含む Excel ファイルを作成します。  
本データは書籍内容とは異なるため、必要に応じて書籍に記載のデータへ修正してください。

| ID   | date              | prefecture | address1 | postal_code |
| - | -- | - | -- | -- |
| A001 | 2025/2/2 0:00:00  | Tokyo      | Shibuya  | 150-0001    |
| A002 | 2025/2/1 1:00:00  | Osaka      | Kita     | 530-0001    |
| A003 | 2025/1/31 2:12:00 | Hokkaido   | Sapporo  | 060-0001    |

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/ce0118c9-6cfe-b1da-4103-71c53e2f1103.png)

作成した Excel ファイルを Kintone にアップロードし、アプリを作成します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/8950f123-8ae6-35e5-96dc-11fcdd941bcc.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/c5ceb206-2b5b-98f1-63c8-77b05fc695ef.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/781a3a11-1c44-4375-fde8-eca5e983fd93.png)

### Google BigQuery のサンドボックス環境を準備

Google Cloud のコンソールから、BigQuery のサンドボックス環境を有効化します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/f03f7b4c-d55c-fb32-8071-be6d7596d262.png)

**引用元**: [BigQuery サンドボックスを有効にする | Google Cloud](https://cloud.google.com/bigquery/docs/sandbox?hl=ja)

その後、データセットを作成します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/ea71ba53-ea6f-4d58-edb3-0a197f594ae8.png)

### 書籍の内容を実施

書籍に沿って手順を進めます。以下は実際の操作例です。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/74dc7c0e-c3ec-6f91-d378-165d9c8d307c.png)


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/eb6cd01d-ecea-6c5f-7296-bac9995c71ac.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/6a59bfb8-8063-1658-0564-80619b1165e2.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/78857476-de9b-db24-c298-8a1d0ceb1a83.png)

### つまずいたポイント

#### SECTION 3 データプレビュー・詳細設定

Kintone 側でカラム名が適切に設定されていなかったため、TROCCO 側で修正しました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/0b37866e-3d92-decf-6bdc-676118730acc.png)

#### SECTION 3 データマート定義の作成

`postal_code` を誤って `postral_code` として連携してしまったため、データマートの SQL を以下のように修正して対応しています。

```sql
SELECT
  ID,
  concat(postral_code, ' ', prefecture, address1) AS address,
  date
FROM
  trocco_cookbook.trocco_cookbook
```

## CHAPTER 2

TROCCO の操作手順がないため、本記事での詳細解説は割愛します。

## CHAPTER 3

### 環境準備

書籍の手順では S3 となっていたため、Google Drive 環境を準備しました。

下記の CSV を配置します。なお、このデータは書籍内容のサンプルデータとはことなります。

```csv
氏名,年齢,登録日時,更新日時,運転免許証
"山田太郎","30","2025-01-01 10:00:00","2025-01-02 15:00:00",true
"鈴木花子","25","2025-02-01 09:00:00","2025-02-02 14:00:00",false
"佐藤次郎","40","2025-03-01 08:30:00","2025-03-01 18:00:00",true
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/8336443b-183b-4ac7-23fb-9a910095a5c5.png)

TROCCO 上で Google Drive の接続情報を作成します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/68bc9353-6ac1-57c8-eb7c-ab6aadfe36f7.png)

Google Drive -> BigQuery の転送ジョブを作成します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/f9164fb7-cc71-4c32-2227-c71087e10648.png)

Google Drive の基本設定では、`フォルダID`、`ファイル名の正規表現`、および、`入力ファイル形式`を入力する必要があります。`フォルダID`はファイルの URL から、 `ファイル名の正規表現`はファイル名を入力します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/2b678fa6-7ac6-3227-5d05-d4853f4a4142.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/d1cd60de-a726-0ff4-59e6-705e1271aa31.png)


`データプレビュー・詳細設定`の画面にて、データを表示されることを確認します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/c42823cb-4570-2ab7-4b1e-f2d16722af4f.png)

### 書籍の内容を実施

書籍どおりにサンプルファイルを作成し、手順を進めていきます。

## CHAPTER 4

### 環境準備

本章で必要な環境は、前章までの手順ですでに構築済みのため省略します。

### 書籍内容を実施

事前に作成した下記環境を利用して手順を実施します。書籍の SECTION 3 にあるタイムゾーン設定は、本番環境で課題となり得るため、背景を含めて理解しておくことをおすすめします。

- BigQuery
- Google Drive
- Kintone

## まとめ

本記事では『TROCCO クックブック』の内容をもとに、TROCCO フリープランを活用したデータパイプラインの構築例を紹介しました。書籍では S3 を利用した例が示されていますが、今回はより手軽な Google Drive を活用しています。

具体的には、次の環境を整えました。

1. **TROCCO フリープラン**  
   - Kintone → BigQuery へのデータ連携を設定。  
   - 書籍のサンプル操作を実行し、データのプレビューやデータマート定義などを学習。  
2. **Kintone 環境**  
   - 開発者ライセンスを申し込んでアプリを作成し、Excel ファイルからサンプルデータを取り込み。  
3. **BigQuery サンドボックス**  
   - 無料枠であるサンドボックス機能を有効化し、データセットを用意。  
3. **Google Drive**  
   - Google Drive のフォルダにファイルを配置してデータを取り込み。

手順どおりに進めることで、 TROCCO のノウハウを習得できます。データ連携においては、書籍の内容だけでなく自分の環境に合わせて細かな修正が必要になる点を理解しながら進めることが重要です。