私の会社では、Pentaho Kettle で ETL ジョブを毎日実行しています (私たちが持っているすべてのデータには 1 台のマシンで十分です)。つまり、次のことを意味します。
- さまざまな、主に関係データベース、スプレッドシート、および API からのデータの読み取り
- 変換の適用、Redshift へのデータの挿入
- 外部 SAAS ツールへの API 呼び出しの実行
より高度なツールでやり直すことを計画しています。これにより、次のことが可能になります。
- dw を 1 日 1 回よりも頻繁に更新する
- 私たちが使用するSAAS APIへのデータの取得とプッシュが簡単になります(PentahoでJSONを処理して構成するのは面倒です)
- ワークフローで他のワークロードをトリガーできるようにする (Python スクリプトなど)
- EC2 マシンで実行されている機械学習パイプラインを同期する
- 1 年で 5 倍のデータ スケールに備える (1 台のマシンでは不十分な場合があります)
私の頭に浮かぶのは、ワークフロー マネージャーとしての Luigi または Airflow であり、Python を使用してコード ベースの ETL を実行しているのでしょうか。インフラストラクチャ全体が AWS クラウド上にあるため、AWS Glue もオプションとして表示されるようになりました (これが etl 専用なのか、それとも含める予定の他のプロセスにも使用できるのかはわかりません)。
他の解決策はありますか?これらを使用した経験のある人はいますか (特に、将来のスパーク/キネシス ワークロードでトリガーされる可能性のある redshift、s3 との連携方法)?
はいの場合、使用するライブラリは何ですか?また、開始して学習するのに適した場所は何ですか?