肉球でキーボード

MLエンジニアの技術ブログです

2024-01-01から1年間の記事一覧

AWS Glueでicebergテーブルのスキーマを動的に変更する

本記事は datatech-jp Advent Calendar 2024 の13日目の記事です。 はじめに Glue Catalogに登録したiceberg tableにAWS GlueJobでデータの書き込みを行うケースは多いかと思います。 通常、Glue Catalogのスキーマに登録されていないカラムを持つデータをGl…

Pythonプロジェクトでflat layoutではなくsrc layoutが推奨される理由を理解する

本文中コード github.com flat layoutとsrc layoutについて Pythonプロジェクトのディレクトリ構成について調べてたところ、flat layoutとsrc layoutという2種類のディレクトリ構成が存在することを知りました。 src レイアウト対フラットレイアウト - Pytho…

pythonのテスト環境作成ツールNoxを使う

本文中コード github.com Noxとは Noxはテスト用のpython仮想環境を作成し、テストを自動化するコマンドラインツールです。 Welcome to Nox — Nox 2024.10.9 documentation Noxを利用することで以下のことを実現できます。 チームメンバーのローカルPC上の環…

GlueJobのicebergテーブル処理テストをローカルで実行する

AWS Glue Jobによるicebergテーブル操作 AWS Glueではicebergテーブルフォーマットがサポートされています。 AWS Glue での Iceberg フレームワークの使用 - AWS Glue iceberg形式は大規模なデータセットを効率的に処理を行うことができる、データレイクに保…

LocalStackのS3環境を利用したAWS Glue Jobローカル実行・テスト方法

Glue Jobのローカル開発 AWS Glue Jobをローカル環境で開発する際、AWS公式が提供してるDocker imageを活用する方法があります。 Developing and testing AWS Glue job scripts locally Glue Jobを利用する場合、S3からデータを取得・保存するユースケースが…

dotfiles管理をchezmoiに移行する

今回作成したdotfliesです。 github.com chezmoiとは Go製のクロスプラットフォームのdotfiles管理ツールです。dotfilesとは .zshrc や .gitconfig といった設定ファイルを指す言葉です。 chezmoiの名前はフランス語の chez-moi (シェモア)に由来し、意味は…

「Machine Learning System Design Interview」読書メモ

本記事について 機械学習システム設計の面接対策本である「Machine Learning System Design Interview」を読んだ時の読書メモです。 本書についての紹介記事は以下となってます。 nsakki55.hatenablog.com 本書の公式HP bytebytego.com 1. Introduction and …

機械学習システム設計に特化した本「Machine Learning System Design Interview」を読みました

どんな本か システム設計の本として有名な System Design Interview の著者であるAlex Xu 氏が運営するByteByteGoが監修した、機械学習システム設計面接について書かれた本です。 日本語訳の本ではシステム設計の面接試験が有名かと思います。 bytebytego.co…

Prefect 3.0のアップデートで必要な対応項目

Prefect 3.0とは 2024年6月にPrefect 3.0のtechnical preview版がリリースされました。 Introducing Prefect 3.0 2022年7月にPrefect 2.0がリリースされたので、2年ぶりのメジャーアップデートとなります。 Prefect 1.0から2.0へのメジャーアップデートの際…

LLM AgentワークフローツールControlFlowを動かしてみる

ControlFlowとは Prefect社が2024年6月に公開した、LLM Agentワークフローを構築するOSSのPythonフレームワークです。 公式リリース記事: Agentic LLM Workflows | ControlFlow by Team Prefect 上記事ではLLMを含むワークフローの構築には、3つの課題が存在…

外資IT企業のSoftware Engineer - Machine Learningのオファーをもらうためにやったこと

写真は前職の最終出社日に同期と朝まで飲んで撮った渋谷スクランブルスクエア この記事について 本記事では自分が外資IT企業のSoftware Engineer - Machine Learning(機械学習エンジニア)に応募して、オファーをいただくまでにやったことを書きます。 外資IT…

MicrosoftのMLOpsホワイトペーパー「Breaking the Wall between AI and DevOps with MLOps」要点まとめ

Breaking the Wall between AI and DevOps with MLOps microsoftの公式GitHubアカウントにMLOpsというレポジトリがあります。 その中に、MLOps whitepaper.pdfというファイルがあり、各章の要点をまとめました。 MLOps/MLOps whitepaper.pdf at master · mic…

AWSのMLOpsホワイトペーパー「MLOps: Continuous Delivery for Machine Learning on AWS」一部要点まとめ

MLOps: Continuous Delivery for Machine Learning on AWS AWSが2020年12月に公開した、AWSでMLOpsを実践するためのホワイトペーパーです。 MLOps: Continuous Delivery for Machine Learning on AWS 機械学習システムを運用するための要素、MLOpsと関連する…

GoogleのMLOps実践ホワイトペーパー Practitioners Guide to Machine Learning Operations (MLOps) 要点まとめ

Googleが公開した、MLOps実践のためのホワイトペーパー GoogleがMLOps実践のためのホワイトペーパーを公開しています。 Practitioners Guide to Machine Learning Operations (MLOps) 2021年5月に公開されたものですが、2024年現在に読んでも色褪せない内容…

データエンジニアリングの基礎を読みました

「データエンジニアリングの基礎」を読んだので、感想・各章の内容についてまとめます www.oreilly.co.jp 全体を通しての感想 原本は Fundamentals of Data Engineering で本書は日本語訳となります。 筆者のJoe Reis氏とMatt Housley氏はデータエンジニアリ…

ワークフローオーケストレーションの歴史

Data Engineering Study #23 Data orchestration 特集の発表「ワークフローオーケストレーション入門」から、ワークフローオーケストレーションの歴史について記事にまとめました。 概要 近年データエンジニアリングの周辺技術が話題に上がるようになり、ワ…

入門 考える技術・書く技術を読みました

「入門 考える技術・書く技術」の読書メモ www.diamond.co.jp 全体を通しての感想 バーバラ・ミント氏著のピラミッド原則をまとめた「考える技術・書く技術」に対する、「日本人による日本人のための実践ガイド」とまえがきで述べられています。 全168Pと文…

pyenv-virtualenv initでプロンプト表示速度が低下する問題

問題 ~/.zshrcに記述した eval "$(pyenv virtualenv-init -)" によって、zshのプロンプト表示が遅くなってることに気づきました。 原因と解決方法を調べたのでまとめました。 結論 ~/.zshrcに記述するのを eval "$(pyenv virtualenv-init -)" ↓ eval "$(pyen…

ターミナルをiTerm2からAlacrittyに変更した

ターミナルをiTerm2からAlacrittyに変えたので、Alacrittyの設定方法について紹介します。 Alacrittyとは Rust製のターミナルエミュレーターです。 公式READMEでは以下のように特徴を説明しています。 高速に動作 configファイルで柔軟にカスタマイズ可能 BD…