8
0

trocco®のETL設定にChatGPT使ってみた

Last updated at Posted at 2023-07-20

はじめに

株式会社ジールの@suguru_y_zdh です。
AWSを使ったデータ分析基盤関係の業務に従事しています。
その中で得たノウハウをQiitaをとおして発信していきたいと思います。

今回は分析基盤の総合支援ツールtrocco®のデータ転送時のETL設定(プログラミングETL)にChatGPTが使えるかどうか検証した記事です。

なお、今回の記事はtrocco®、AWS、ChatGPTの諸々の準備ができている前提の内容になっています。

利用環境

Windows 10

準備物

・trocco®
 接続情報

・ChatGPT
 OpenAIのアカウント作成

・AWS
 S3(バケット、バケットポリシー)
 IAMロール

・サンプルデータ
 

検証内容

trocco®のデータ転送時のETL設定(プログラミングETL)のコードをChatGPTに作成させ実行できるか、実行結果が想定したものになるか検証する

trocco®には標準機能のテンプレートETLとオプション機能のプログラミングETLが存在します。
プログラミングETLとは転送設定時にプログラミング言語(現在はRubyとPythonに対応)で変換処理を自由に記述することができる機能です。
標準機能ではフィルター、マスキング、転送日時打刻、文字列の変換・ハッシュ化などができます。
今回は標準機能で対応していない演算のETL処理を実施します。
 

作業内容

■転送設定の作成
①転送元をS3、転送先にS3を選択します。
image.png

②転送元Amazon S3の設定します。
S3接続情報やバケット、パスプレフィックスの項目を入力し、その他の項目はデフォルトのまま設定します。(この例では事前に用意した接続情報を指定します)
image.png

③転送先Amazon S3を設定します。
転送元と同様にS3接続情報やバケット、パスプレフィックス等の必須項目を設定します。
今回サンプルデータで容量も多くないため転送モードは出力ファイル数抑制転送(1ファイル出力)を選択します。
image.png

次のステップに移行して、データプレビューやカラムの定義に問題ないことを確認します。
image.png
image.png

④ETL設定の『プログラミングETLを利用する』にチェックを入れ、ソースコードにPython3.9を選択します。
image.png

⑤ChatGPTにプログラミングETLのテンプレートコードを用いて、カラムの情報や求める結果を以下のように質問します。

qiita.py
下記の条件からpythonでETL処理を作成する

データの概要
cash_id,cash_data,cash_customer_id,cash_item_id,cash_item_name,cash_itme_r,cash_amount_1,cash_source

求める結果
cash_itme_r,cash_amount_1を掛け算した結果をtotalというカラムで出力する

コードのテンプレート
from etl_base import EtlBase

class Etl(EtlBase):
  # def __init__(self):
  #   pass

  def transform_row(self, row):
    # row["new_column"] = "trocco"
    return row

  # def before_action(self):
  #   pass

⑥ChatGPTで得られた結果を貼り付け、テスト実行します。

qiita.py
from etl_base import EtlBase

class Etl(EtlBase):
    def transform_row(self, row):
        row["total"] = row["cash_itme_r"] * row["cash_amount_1"]
        return row

    def before_action(self):
        pass

image.png

totalカラムが追加されていることを確認します。
image.png

確認画面へ移行し、保存して適用を選択します。

■転送設定実行
⑦転送を実行します。
作成した転送設定を実行します。
image.png

⑧出力結果の確認します。
出力先のS3に格納されているcsvファイルの中身を確認します。
image.png

totalというcash_itme_r,cash_amount_1を掛け算したカラムが追加されています。
image.png

まとめ

trocco®のETL設定にChatGPTが利用できることを検証しました。
今回は簡単な演算のみでしたが、プログラミング内容を修正することで要件に合うよう様々な設定が可能です。

trocco®のプログラミングETLに興味があるが、コーディングに苦手意識がある方や初心者の方はChatGPTを用いてみてはいかがでしょうか。

株式会社ジールでは、初期費用が不要で運用・保守の手間もかからず、ノーコード・ローコードですぐに手元データを分析可能なオールインワン型データ活用プラットフォーム「ZEUSCloud」を提供しております。
ご興味がある方は是非下記のリンクをご覧ください:
https://www.zdh.co.jp/products-services/cloud-data/zeuscloud/

8
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
0