etl

Task nodes で EMR クラスタのスケールインを高速化する

CDK で立ち上げた EKS クラスタを EMR on EKS に登録し Spark のジョブを動かす

Airflow の Callback で複数の Task からなる処理のリトライを行う

Airflow で 過去の Task への依存を表す

CDK で Amazon Managed Workflow for Apache Airflow (MWAA) の環境を作成しワークフローを実行する

Docker Compose で Apache Airflow を起動しワークフローを実行する

ScalaでSparkのアプリケーションを開発してGitHub ActionsでデプロイしEMRでリモートデバッグする

SparkをビルドしIntelliJでリモートデバッグする

Spark SQLのJOIN時に余分なパーティションが読まれる例とDynamic Partition Pruning (DPP)

Athena v2でparquetをソースとしmapフィールドを持つテーブルのクエリが成功したり失敗したりする原因

EMRでSparkを動かす際の設定

AWS CLIでEMRクラスタを立ち上げSparkのアプリケーションを実行する

Athenaで他アカウントのテーブルを参照するために必要な設定

Athenaのデータソースコネクタとユーザー定義関数(UDF)を実装する

Redshift ServerlessとAthenaの性能をTPC-DSのクエリで比較する

Generate data with TPC-DS Connector for Glue

Redshift Serverlessと他のサーバーレス集計サービス、Glue Data Catalogのテーブルへのクエリ実行

AthenaのFederated QueryでTPC-DS Connectorを用いてデータを生成する

Sparkでstructをmapとして扱いexplodeで複数行に展開できるようにする

SparkのWeb UIでJobのStageとExecutorによるTask分散、SQLのplanを確認する

Glue DataBrewでデータを可視化して分析するProjectと機械学習の前処理を行うJobをCDKで作成する

GlueのカスタムコネクタでBigQueryに接続する

Athena(Presto)とGlue(Spark)で同じクエリを実行した際に異なる値が返る原因

CDKでGlue Data CatalogのDatabase,Table,Partition,Crawlerを作成する

CDKでKinesis Data Analytics上にPyFlinkのコードをデプロイして動かす

AWS GlueのJobのBookmarkを有効にして前回の続きから処理を行う

Athena(Presto)でWindow関数を用いた集計を行う

GoでAthenaのクエリを実行する

Kinesis Data AnalyticsのSQL, Lambdaへの出力とCDKによるリソースの作成

VSCodeのDocker開発コンテナでJupyter Notebookを開いてAthenaのクエリを実行し可視化する

Apache SparkのRDD, DataFrame, DataSetとAction, Transformation

AWS GlueでCSVを加工しParquetに変換してパーティションを切りAthenaで参照する

Athenaのmigrationやpartitionするathena-adminを作った

Cloudera Docker ImageでHiveの実行環境を立ち上げてJSONのログにクエリを実行する

NorikraでログをJOINする

NorikraとFluentdで流れてきたログをリアルタイムに集計する

fluentdでKinesis Streamsに送ってLambdaで読んでS3に保存する

Kinesis Streams/Firehose/Analyticsを試す