記事一覧

【Redshift】データ集計に便利な関数Tips

SELECT結果に連番(順位)を振る:ROW_NUMBER関数 使用例)id単位で優先度(priority)が1位の人を取得する select * from(select*, row_number() over(partition by id …

kkamino
1日前

【AWS Glue】Glue ETLで列内の値を分割して行に分解する

Glue ETLジョブでTransformの「Split String」「Explode Array Or Map Into Rows」を使って変換前のデータをcolor_list列を分割して行にしていきます ※2024年7月時点の情…

kkamino
2日前

【AWS Glue】Python Shellで環境変数にプロキシを設定したらboto3使用時NoCredentialsErrorが発生

やりたかったこと Glue Python Shellから外部APIをコールしてレスポンスをS3にファイル出力する プロキシを超える必要がある エラー発生時のコード os.environ()を使…

kkamino
6日前

【AWS Glue】Glueを使ってみて地味に困った・面倒だったこと色々

※2024年7月時点の情報です 現在AWS Glueを使ってS3に格納されたデータをETL処理してAmazon Redshiftに登録したり、Amazon Redshiftのデータを加工してファイルを作成・S3…

kkamino
8日前

サイズが大きく行数の多いファイルを開きたかった時にテキストエディタをいくつか試してみた

1GB超のCSVファイルを開きたい… データベースに登録するため、あるcsvファイルの中身を確認する必要がありましたが、普段使っているテキストエディタでは上手く開けなか…

kkamino
9日前

【AWS Glue】S3ファイル操作覚書

①フォルダ配下のファイルを削除する(Glue ETL) import sysfrom awsglue.transforms import *from awsglue.utils import getResolvedOptionsfrom pyspark.context impor…

kkamino
2週間前
1

【AWS Glue】ソースファイル読み込み時のマルチライン指定

※2024年7月時点の情報です 事象 S3に格納されたcsvファイルを読み込みRedshiftのテーブルに登録しようとすると「String length exceeds DDL length」のエラーが発生した…

kkamino
2週間前
1

【AWS Glue】Visual ETLジョブでRedshiftのnumeric型にデータ登録しようとすると「xxx_decimal(10,2)」カラムが出来てしまう事象…

やりたかったこと Glue Visual ETLを使ってS3のcsvデータをRedshiftのテーブルのnumeric型のカラムに登録する 起きたこと Change Schemaノードを使用してDataTypeを「d…

kkamino
5か月前
1

【Power BI】定数線表示のオンオフ切替

Power BIの折れ線グラフなどで表示できる定数線のオンオフを切り替えられるようにしました ※2023.3時点の情報です STEP1:定数線を表示したいグラフを配置する 今回は折…

kkamino
1年前
1
【Redshift】データ集計に便利な関数Tips

【Redshift】データ集計に便利な関数Tips

SELECT結果に連番(順位)を振る:ROW_NUMBER関数

使用例)id単位で優先度(priority)が1位の人を取得する

select * from(select*, row_number() over(partition by id order by priority desc) as rankfrom myDataSource)where rank = 1

集計内容をリスト化する

もっとみる
【AWS Glue】Glue ETLで列内の値を分割して行に分解する

【AWS Glue】Glue ETLで列内の値を分割して行に分解する

Glue ETLジョブでTransformの「Split String」「Explode Array Or Map Into Rows」を使って変換前のデータをcolor_list列を分割して行にしていきます
※2024年7月時点の情報です

変換前

変換後

「Split String」で列内の値を配列にする

ジョブエディタの「Visual」タブでAdd notes > Transforms

もっとみる
【AWS Glue】Python Shellで環境変数にプロキシを設定したらboto3使用時NoCredentialsErrorが発生

【AWS Glue】Python Shellで環境変数にプロキシを設定したらboto3使用時NoCredentialsErrorが発生


やりたかったこと

Glue Python Shellから外部APIをコールしてレスポンスをS3にファイル出力する

プロキシを超える必要がある

エラー発生時のコード

os.environ()を使ってプロキシの設定をしました

結果は『NoCredentialsError: Unable to locate credentials』

botocore.exceptions.NoCreden

もっとみる
【AWS Glue】Glueを使ってみて地味に困った・面倒だったこと色々

【AWS Glue】Glueを使ってみて地味に困った・面倒だったこと色々

※2024年7月時点の情報です

現在AWS Glueを使ってS3に格納されたデータをETL処理してAmazon Redshiftに登録したり、Amazon Redshiftのデータを加工してファイルを作成・S3にアップロードすることをやっています
その中で困ったこと、面倒だったことがあったのでシェアしたいと思います
これからAWS Glueを使おうかなと考えている方の検討材料になれば幸いです

もっとみる
サイズが大きく行数の多いファイルを開きたかった時にテキストエディタをいくつか試してみた

サイズが大きく行数の多いファイルを開きたかった時にテキストエディタをいくつか試してみた


1GB超のCSVファイルを開きたい…

データベースに登録するため、あるcsvファイルの中身を確認する必要がありましたが、普段使っているテキストエディタでは上手く開けなかったのでいくつかテキストエディタを試してみました
ファイルのサイズ:約1.9GB、行数:約7,430,000行

サクラエディタで開いてみる

普段よく使っているサクラエディタで開いてみようとするとしばらく待ったのちRuntim

もっとみる
【AWS Glue】S3ファイル操作覚書

【AWS Glue】S3ファイル操作覚書

①フォルダ配下のファイルを削除する(Glue ETL)

import sysfrom awsglue.transforms import *from awsglue.utils import getResolvedOptionsfrom pyspark.context import SparkContextfrom awsglue.context import GlueContextfrom a

もっとみる
【AWS Glue】ソースファイル読み込み時のマルチライン指定

【AWS Glue】ソースファイル読み込み時のマルチライン指定

※2024年7月時点の情報です

事象

S3に格納されたcsvファイルを読み込みRedshiftのテーブルに登録しようとすると「String length exceeds DDL length」のエラーが発生した

csvファイルを分割するとエラーは発生しない

原因

「Records in source files can span multiple lines」の設定が機能しておらず、複数

もっとみる
【AWS Glue】Visual ETLジョブでRedshiftのnumeric型にデータ登録しようとすると「xxx_decimal(10,2)」カラムが出来てしまう事象に対する対応

【AWS Glue】Visual ETLジョブでRedshiftのnumeric型にデータ登録しようとすると「xxx_decimal(10,2)」カラムが出来てしまう事象に対する対応


やりたかったこと

Glue Visual ETLを使ってS3のcsvデータをRedshiftのテーブルのnumeric型のカラムに登録する

起きたこと

Change Schemaノードを使用してDataTypeを「decimal」に変更してjob実行
→元々あったRedshiftテーブルのnumeric型のカラムxxxには登録されず、新たに「xxx_decimal(10,2)」というカラム

もっとみる
【Power BI】定数線表示のオンオフ切替

【Power BI】定数線表示のオンオフ切替

Power BIの折れ線グラフなどで表示できる定数線のオンオフを切り替えられるようにしました
※2023.3時点の情報です

STEP1:定数線を表示したいグラフを配置する

今回は折れ線グラフを使います

STEP2:切替用のボタン(スライサー)を作成する

ボタン表示用のテーブルを作成する

テーブル名:Metrics

列1:インデックス(表示順用)

列2:定数線名(ボタン表示用)

ビジ

もっとみる