AWS Glue(分析用データ抽出、変換、ロード (ETL) )開発時のメモ、注意書き、事前に知っておくべきこと

デバッグ方法

Custom Transform 内では Python などでコーディングが可能。しかし debug が困難。debug は print 文で行う。

結果はS3に自動でアップロードされる。ジョブの結果の"Run Details" の "Outputlogs" に print 文の結果が出力される。事前設定不要。

例:
print ("test")
print ("Col1" , col(Col1))

その他

・Visual ETL の "script"タブで全体のスクリプトを通して確認が可能。ここでキーワード検索などが便利。ただし ("locked")と表示されているとおり編集はできなさそう。

・テーブルの left join で複数キーのjoinは condition を2個以上設定して対応する。

left join で複数のキーを使用する

(*)おそらくテーブルを Left join などする場合は、事前にテーブルのスキーマでカラムの追加が必要。

・テーブルをコピーしたい場合は、スキーマを Json 形式でコピー、ペーストして作成する。

・データベースはS3にアップロードして、csvのカラムとデータベースのスキーマ名を合わせるだけで自動でロードされる。

・"Error parsing a column in the table.Table can not convert value of type string to a long value"のエラーの対処

テーブルのスキーマと実データの方が一致していない。どちらかを見直す。テーブルのスキーマの型は後からそれだけ変更可能。

・S3上のcsv ファイルをデータベースとして取り込むとき、1行目が取り込まれてしまい、"タイプミスパッチ"エラーとなる。

テーブルのプロパティで "skip header line count "で 1 を設定する。
これでS3上の csv で 1行目のヘッダーは無視される。

・【BUG】2024/8
Glue の Visual ETLでデータベースと"Custome Transform" の間の連結で失敗する。
→原因不明。一度他のデータベースを選択して元に戻したら復活した。

・Athenaで Query save の方法が分からない。
→分かりにくい場所にある。次の部分で保存可能。

Athena で query を save する


[トップへ]