最近の記事

【AWS Glue】Python ShellでWebAPIのxmlレスポンスをS3にcsvで出力する

WebAPIの結果がxmlで返ってきた際にcsvで出力するサンプルコードです import urllib.requestimport xml.etree.ElementTree as XmlETimport boto3import reimport pandas as pdOUTPUT_BUCKET_NAME = '出力S3バケット名'OUTPUT_FILE_PATH = '出力ファイル名'#APIコールrequest_url = {実行するAPIのurlを記載}respo

    • 【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 集計内容をリスト化する:LISTAGG関数 使用例)顧客ごとの商品とカテゴリをスラッシュ区切りでリス

      • 【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 > Split Stringを選択し、分割したい列と区切り文字を指定します ※

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

          やりたかったこと Glue Python Shellから外部APIをコールしてレスポンスをS3にファイル出力する プロキシを超える必要がある エラー発生時のコード os.environ()を使ってプロキシの設定をしました 結果は『NoCredentialsError: Unable to locate credentials』 botocore.exceptions.NoCredentialsError: Unable to locate credentials

        • 【AWS Glue】Python ShellでWebAPIのxmlレスポンスをS3にcsvで出力する

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

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

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

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

          ※2024年7月時点の情報です 現在AWS Glueを使ってS3に格納されたデータをETL処理してAmazon Redshiftに登録したり、Amazon Redshiftのデータを加工してファイルを作成・S3にアップロードすることをやっています その中で困ったこと、面倒だったことがあったのでシェアしたいと思います これからAWS Glueを使おうかなと考えている方の検討材料になれば幸いです 1:ファイル名に全角括弧→()【】が含まれているとエラーになる S3に格納され

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

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

          1GB超のCSVファイルを開きたい… データベースに登録するため、あるcsvファイルの中身を確認する必要がありましたが、普段使っているテキストエディタでは上手く開けなかったのでいくつかテキストエディタを試してみました ファイルのサイズ:約1.9GB、行数:約7,430,000行 サクラエディタで開いてみる 普段よく使っているサクラエディタで開いてみようとするとしばらく待ったのちRuntime Errorになり開くことができませんでした サクラエディタ 秀丸で開いてみ

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

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

          ①フォルダ配下のファイルを削除する(Glue ETL) import sysfrom awsglue.transforms import *from awsglue.utils import getResolvedOptionsfrom pyspark.context import SparkContextfrom awsglue.context import GlueContextfrom awsglue.job import Job## @params: [JOB_NA

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

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

          ※2024年7月時点の情報です 事象 S3に格納されたcsvファイルを読み込みRedshiftのテーブルに登録しようとすると「String length exceeds DDL length」のエラーが発生した csvファイルを分割するとエラーは発生しない 原因 「Records in source files can span multiple lines」の設定が機能しておらず、複数行にまたがったレコードの登録に失敗していた 本来、上記項目にチェックを入れると

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

          【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)」というカラムが追加された ※Redshiftにおいてnumericとdecimalは、ほぼ同

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

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

          Power BIの折れ線グラフなどで表示できる定数線のオンオフを切り替えられるようにしました ※2023.3時点の情報です STEP1:定数線を表示したいグラフを配置する 今回は折れ線グラフを使います STEP2:切替用のボタン(スライサー)を作成する ボタン表示用のテーブルを作成する テーブル名:Metrics 列1:インデックス(表示順用) 列2:定数線名(ボタン表示用) ビジュアルでスライサーを選択し、1-2.列を指定する ビジュアルの書式設定で方向を

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