2025/07/03 に開催された Tokyo dbt Meetup #15 に登壇した際の登壇資料です
条件 現職で管理している現行のデータパイプラインである Treasure Workflow(managed digdag on TD)+ Presto に適用できること ウェブでメタデータのドキュメントが公開でき、社内に共有できること Data Lineage 的なデータの依存関係がわかること dbt dbt は構築したプロジェクトとその内部のクエリを元にドキュメントを自動で生成してくれる。データの依存関係のDAGを可視化してくれるようで、良さそう。dbt docs serve というドキュメントサイトをホストする機能も提供しているが、現時点では本番稼働を想定していないものらしい。その代わりに dbt Cloud を使う、生成したドキュメントを S3 でホストするなどの方法を推奨している。 The dbt docs serve command is only intended for lo
はじめに こんにちは。fkubota(Kaggle Expert 20201001現在)です。先日公開したKaggle日記の記事が好評だったので、調子に乗ってもう一つ。 今回は、僕が行っているとても簡単だけど効果が大きいKaggleの実験高速化の話です。おそらく当たり前すぎてこれまで記事にされなかったのかもしれませんが、これから積極的にKaggleに参加したいビギナーのために書きます。今回も、キラキラした画期的な特徴量エンジニアリングではなく、泥臭いテクニックを話します。 なぜ多くの実験を行いたいか 言うまでもないですが、多くの実験を行ったほうが勝つ確率は上がります。僕は今回の鳥コンペが初画像コンペでしたのでより多くの実験を行って勘所をつかむ必要がありました。案の定、Pytorchの癖をはじめはつかむことができず、コンペの1/3はPytorchのお勉強に使ってしまいました。 とにかく、ビギ
はじめに こんにちは。レバレジーズ データ戦略室の辰野です。 前回の投稿からいつの間にか1年以上経過していました。引き続きデータマネジメントやデータガバナンスに関連する仕事をしていたのですが、今回は私が昨年度末に取り組んだ、Dataformを利用したデータ分析基盤の構築についてお話させていただきます。 Dataformとは Dataformとは、現在Google Cloudで利用できるデータモデリングツールの一つです。ELT(抽出、読み込み、変換)処理における、T(変換)の部分を管理できます。主な機能として、下記があります。 SQLワークフローを開発、実行できる テーブル同士の依存関係を管理できる テーブルの品質テストができる これらの機能を利用することで、すべてのデータプロセスを管理することが可能です。 (参考:Google Cloud,Dataform の概要) Dataformを導入
Build, deploy, and run data pipelines through an intuitive interface in minutes. Run at any scale instantly with Mage Pro. Build, deploy, and run data pipelines through an intuitive interface in minutes. Run at any scale instantly with Mage Pro. Build, deploy, and run data pipelines through an intuitive interface in minutes. Run at any scale instantly with Mage Pro.
こんにちは。技術部の自称データエンジニアの池田です。 Redshift Federated Query for RDS/Aurora MySQL(Federated Query for MySQL)がめでたくGAになりました。 Federated Query for MySQLを使うと、RedshiftからAurora MySQLにクエリを発行し、その結果をRedshift上で利用することができます。 今回は、この機能を使ったType-2 Slowly Changing Dimension(SCD2) の実装の話をします。 aws.amazon.com TL;DR Change Data Capture(CDC)を実装・運用するほどじゃないけど、State Sourcingなテーブルの変更履歴を追跡したいときには、SCD2を使うと嬉しいです。 Federated Query for MyS
こんにちは、最近やっと家にプールをリリースした志水です。夏x子供の全てを解決するのは筋肉ではなくプールです。プールこそ正義です。 今日はプールとは全く関係のないStrands Agentsについての話をしたいと思います。 はじめに 生成AI技術の進歩により、インフラ構築の手法も大きく変化しつつあります。従来のコードベースでの構築から、自然言語による意図伝達による構築へと進化が続いています。 IaP(Infrastructure as Prompt)とは IaP(Infrastructure as Prompt)は、インフラ構築の新しいパラダイムです。従来のIaC(Infrastructure as Code)では、CDKやTerraformでコードを書いてインフラを定義していましたが、IaPでは「API GatewayとDynamoDBを連携したい」「S3で静的サイトを公開したい」といった
プロジェクトの区切りに初めて長期休暇を取得することにしました。 プロジェクト終盤の忙しさで疲れが溜まっていたので、休暇中に健康的な生活を送るために apple watch から取得したデータを可視化することにしました。 この記事では apple watch で計測したデータを毎日自動的に可視化する方法を書いています。 やったこと こんな感じのアーキテクチャで睡眠の可視化を作りました。 現時点で作成したのは次のような図です。 さすがにもう少し睡眠を取っている自覚はありますが、睡眠が浅いときに apple watch が睡眠と判定してくれずに過小評価されていると思われます。 これだけだと iOS の色んな睡眠アプリの下位互換でしかないので今後増やしていく予定です。 きっかけ 最近、深夜のリリース対応や障害対応等で睡眠習慣がかなり悪化してしまいました。 睡眠習慣を改善するため、睡眠に関する書籍を
Prompt Flowとは プロンプト フローは、大規模言語モデル (LLM) によって動作する AI アプリケーションの開発サイクル全体を合理化するために設計 された開発ツールです。 プロンプト フローは、AI アプリケーション のプロトタイプ作成、実験、反復、デプロイのプロセスを簡素化す る包括的なソリューションを提供します。 https://learn.microsoft.com/ja-jp/azure/ai-studio/how-to/prompt-flow Prompt Flowでできること - LLM、プロンプト、Pythonコード、その他のツールを実行可能なワークフローにリンクするフローを作成で きます。 - フロー、特にLLMとのインタラクションを簡単にデバッグし、繰り返し実行できます。 - フローを評価し、より大きなデータセットで品質とパフォーマンスのメトリクスを計算しま
先日、オンライン家庭教師マナリンクにて、「先生検索エージェントが先生を探してくれる機能」をリリースしました🎉 まずは簡単なデモ動画をご覧ください⬇️ ※画面は開発時点のもの/検索結果は一例です この機能には以下のような特徴があります。 AIのレスポンスが 1文字ずつ表示(ストリーミング) され、ChatGPTライクなUXを実現 検索者が自然言語で入力した科目や学年などの条件を、AIが理解して先生を探す 先生を探す条件には科目や学年などの数値化できるデータだけでなく、「コミュニケーションが苦手」といった非構造化データも含めて検索できる 検索結果には順位や推薦文、先生の情報が表示されるカードなど、単なるテキストではなく構造化されたリッチなUIが表示される。すなわち構造化されたデータ(JSON)のストリーミング表示ができている 最終的な返答だけでなく、AIが様々なデータソースから検索している進
※ こちらはミツモアAdvent Calendar 2021の12/20分の記事です。 こんにちは、ミツモアCTOの柄澤(@fmy)です。今回は、ちょうど1年半前ぐらいに整備したミツモアデータ分析基盤についてご紹介いたします。(記事にするのが遅くなってすみません) 全体像 ミツモアのデータパイプラインの全体像は以下のようになっています。 ミツモアのデータパイプライン このパターンはETL(Extract / Transform / Load)ではなくELTと言われ、ExtractとLoadを行ったのちに、データウェアハウスの中でTransformを実施する戦略となっています。BigQueryに代表される今日のデータウェアハウスは膨大なデータを保持し、大量の並列処理を可能とする能力があるので、一旦データウェアハウスにあらゆるデータを入れたのちに、自由にデータの変換処理をする方が筋が良いように
OSS BIツールのLightdashをローカル環境で使ってみたので、実際にデータを可視化してみました。 Lightdashはdbtと接続して使用するBIツールで、dbtで定義したmetricsを可視化することができるという特徴があります。昨今、dbtが流行してきていることを踏まえると、このようなdbtとシームレスに繋がるBIツールがどんどん出てくるのではと思っており、その筆頭として非常に注目しています。 今回の記事では、実際にデータを可視化するところからの紹介となります。 Lightdashをセットアップして、GitHub上のdbtプロジェクトと連携するところまでは別の記事に書いたので、セットアップから始めたいという方はこちらをお読み頂ければと思います。 使用するデータ 今回は、自分のツイートに関するデータを可視化に使いました。 自分のツイートデータはTwitter Developer
BigQuery StudioではGeminiを使用してSQLの生成をやってくれますが、 コンソールは、今どのプロジェクトやデータセットを見ているか、テーブルのスキーマ(カラム名、データ型など)がどうなっているかを自動的に理解してくれています。 これと似たようなことを外からでもできたら便利かもと思い、n8nのフローを使って構築できないか試してみました。 フロー全体図 チャットのメッセージを起点にし動作するフローになっています。 ※ 本記事での対象のテーブルは一つとしています。 ※ Chatモデルはgemini-2.5-flashを使用しています 一つのエージェントに全て任せるようにするとプロンプトが長くなりそう、多くて複雑な指示によりAIがどのフェーズにいて、どの指示に従うべきかを正しく判断できなくなってしまうことを考慮し、2つのエージェント(生成担当、実行・報告担当)に分けてみました。
というような感じになっていて、目的や供与可能なコスト分を考えながらここらへんをうまいこと組み合わせてデータ基盤というのは構築される。 最近では多くの企業でデータエンジニアというポジションが募集されており、データエンジニアは何をしているかというとここらへんの構築・整備を行う。 正直なところデータエンジニアの仕事というのはエンジニアリング的に難しいことは何もなくて、基本的に社内政治に振り回されながら泥臭い作業を行うだけの妖怪になるという悲しい役割に終始するのだけれど、ひとまず業務としてはワークフローエンジンの整備を行う。 ワークフローエンジンに何を使うかについては結構トレンドがあり、少し前(だいたい5年前とか?)はDigdagを使うのが主流だったのだけれど最近はユーザーも離れてしまいあまり開発も活発ではなくなってしまっており(DigdagはJavaで作られているのだが最近のLog4jの問題が発
こんにちは、データプラットフォームチームの鳥山(@to_lz1)です。 本記事はdbt Advent Calendar 2024の10日目の記事です。 データ基盤を扱う上で避けて通れない「メタデータの管理」ですが、あなたのチームではどのように取り組まれているでしょうか?独自メタデータカタログを作ったけど、運用がつらくなっているとか、はたまた構築初期なのであえてdescriptionなしのまま突き進んでいるなど、データ基盤整備のフェーズによっても各社さまざまかと思います。 弊社も例に漏れず上記のようなフェーズを通過してきましたが、最近ではdbtやその周辺ツールを使った効率化がうまく回り始めてきました。本記事ではその仕組みをどのように構築したのかをご紹介します。 そもそもメタデータとは? 旧来の仕組み 新しい仕組み dbt-osmosisの導入 dbt-source-importerの導入とC
大阪オフィスの玉井です。 dbt界隈の人たちがこぞって推奨している(ように思える)ツールであるDagsterを使ってみました。 Dasterとは? 公式の紹介文を引用します。 Dagster is a data orchestrator. It lets you define pipelines (DAGs) in terms of the data flow between logical components called solids. These pipelines can be developed locally and run anywhere. 「データオーケストレーター」と言われると、なかなかピンときませんが、ジョブ管理ツールの一種と思っていただければわかりやすいと思います(Apache Airflow等と同じカテゴリ)。データパイプラインの開発はもちろん、一連の処理の運用
Generative Agentsの台頭 Generative Agents(Park et al., 2023)は、数十人規模のAIエージェントが仮想空間内で生活し、観察、記憶、思考、行動をおこなう新しい社会シミュレーションの取り組みです。 Generative Agents: Interactive Simulacra of Human Behavior [1] 主な特徴 エージェントは観察を通じて記憶を蓄積し、推論・行動に反映 LLMにより自然言語での内省や会話が可能となり、従来のABMでは困難だった創発的な行動が発現した “In an evaluation, these generative agents produce believable individual and emergent social behaviors. For example, starting with o
Prologue GitHub アクションで、「ワークフローが終わったら/リクエストされたら、実行する」というトリガをご紹介します。 私の例では、このようなニーズに対して対応することができました。 first-workflow.yml: pull_request や push: [main] などのトリガでテストを行うワークフロー実行 second-workflow.yml: main ブランチへ push されたときにだけ、デプロイするための別のワークフローを実行 指定したワークフローを契機に実行されるトリガ workflow_run on.workflow_run は、ワークフローがリクエストされた、または実行完了した契機で呼び出されるトリガです。 workflow_run | Events that trigger workflows - GitHub Docs イベントタイプは c
こんにちは、Assured のオリバーです。 最近、Google Platform の Workflows を業務に導入し、非同期で動作していたプロセスやバッチをパイプライン化して自動化することで、管理コストと運用コストを削減することができました。この記事では、私たちが取り入れた構成例や、参考になりそうなポイントをいくつか紹介します。これらの情報が、これから Workflows を試してみたい方や、既に使用を開始している方にとってお役に立てれば嬉しいです。 すでに Workflows をご利用の方は、「Workflowsとは」のセクションを飛ばして、「Assured のユースケース」からご覧ください。 Assured の事例は以下の二つについて話をします。 データ解析のパイプライン化 長時間のキューイングプロセスの自動化 Workflowsとは Workflows は Google Clo
これはPTAアドベントカレンダーの7日目の記事です。 5年間運用されてきたバッチ処理系を刷新し、Argo Workflowを用いたバッチ処理系に移行したのでその紹介記事です。 背景 GKE上でバッチ処理のワークロードを実行しており、ワークフローエンジンとしてDigdagを採用していました。ユースケースとしては定期実行のバッチ処理、ETL、機械学習等。 Digdagを用いたワークフロー定義はシンプルかつ運用に必要な機能を提供してくれています。実際のワークフロー内部の処理としては、ワークフローの各タスクにおいては基本的にはロジックは持たずKubernetes Jobの実行のみを行います。そのためにDigdagとKubernetes Job間で協調動作するための仕組みが独自で用意されていました。このようなバッチ処理系が約5年程運用されてきました。 この仕組で今まで元気に動いてはいたのですが次のよ
WorkflowsからDataformの起動方法を検証してみました。Dataformタグ指定、コンパイル変数のWorkflowsからの上書きができるか、もあわせて検証してみました。 データアナリティクス事業本部の根本です。Dataformを使っていて、呼び出しもと(Workflowsとか)から動的に値を変えてDataformを呼び出すことができたらいいなと思い調べてみたらコンパイル変数を用いたらできたので記事にしてみました。 この記事の対象者 Dataformでコンパイル変数を使ってみたいひと 前提条件 Dataformのワークスペースやリポジトリが存在する、使えること 検証の全体像 コンパイル変数をdataform.jsonで指定して動作するか確認 APIでDataformを実行するときにコンパイル変数の値を上書きして動作するか確認 上記2つの検証をしていきます。 やってみる それでは早
最近LLMを使った実験をする機会があったので,その実験管理に最新バージョン(2.9.2)のmlflowを使ってみた.そのバージョンではLLMに対するいくつかの便利機能があったので,今回はそれについて書いてみる. Mlflow MLflowは、機械学習のライフサイクルを管理するためのOSSで,モデルのバージョニング、データセットの管理、実験の追跡、デプロイメントなど、機械学習プロジェクトの全体的なプロセスをサポートしている. ドキュメントも充実しており,Mlflowの使い方というより,機械学習の実験管理のベストプラクティスを学ぶ際にもとても有用なものだと思う. MlflowのLLM用機能 Mlflowの最新バージョン(2.9.2)では,LLMの実験管理用の機能がいくつか追加されている. 内容は大きく分けて以下の3つで,それぞれについて紹介していく. デプロイメント ロギング(トラッキング)
Vertex AI Pipelinesを全く使ったことがない人向けに、Kubeflow Pipelinesのはじめ方からまとめてみました。 データアナリティクス事業本部 機械学習チームの鈴木です。 この記事は、ブログリレー『Google CloudのAI/MLとかなんとか』の1本目の記事になります。 そろそろVertex AIもマスターしないとなと思い、Vertex AI Pipelinesをキャッチアップしています。同僚のじょんすみすさんが以前に以下の『Vertex AIではじめるKubeflow Pipelines』を公開してくれていました。 私はBigQueryなどのデータ分析系のサービスの経験が厚く、Vertex AI PipelinesおよびKubeflow Pipelinesを触るのが初めてだったため、Kubeflow Pipelinesとはなんぞやから始める必要がありました。
本稿では「Rユーザーのためのmake入門」と題して、makeというビルドツールを紹介します。makeはRに限らずさまざまなプロジェクトで汎用的に使われており、使い慣れておくと日常のコマンド実行を効率化できるかもしれません。 今回はMakefileの基本的な書き方から、複数のRmdファイルをmakeを使って一括で変換する例を紹介します。締切直前に複数のRmdファイルを編集していたとしても、確実にすべてのレポートをコマンド1発で最新にできるようになるでしょう。 makeはすでにお使いの環境にインストール済みかもしれませんし、インストールされていなかったとしても、パッケージマネージャなどで簡単にインストールできるでしょう。本稿では再現性のため、Docker上でRStudioやmakeを動かします。動作確認はrocker/tidyverse:4.2.1で行っています。 以下を実行して、RStudi
AirflowからArgo Workflowsへ freee の AI ラボというチームでエンジニアをしている id:nagomiso と⾔います。好きな飲み物はストロング系チューハイです。オススメはキリン・ザ・ストロングのコーラサワーと SAPPORO 99.99 のクリアレモンです。 さて, あまりイメージがないかも知れませんが実は freee の AI ラボでは機械学習やデータを活用したサービスの検討・開発だけではなく, 開発や運用を効率的に行うためのインフラ整備にも取り組んでいます。(取り組みの一部は 開発スピードを止めない機械学習インフラ基盤――freeeに学ぶAI開発で本質的価値を提供する方法 でも紹介しています) こうしたインフラ整備の一環としてデータ処理パイプラインの Argo Workflows 移行を進めているので今回はその話をしようと思います。 動機 もともと AI
はじめに 研究開発部の小松です。 本記事は Sansan Advent Calendar 2022 の17日目の記事になります。 adventar.org 普段こちらのブログではネットワーク経済学をテーマに細々と書いています。今回は少し話題を変えて、日頃の分析でお世話になっている R のパッケージ {targets} に (半年ぐらい前になりますけれど) OSSコントリビュートした話をします。 普段の業務では Python と R 両方使っていますが、素早い対応が求められる分析業務では私は R を使っています。{tidyverse} によるデータハンドリングに慣れた身からすると、pandas での処理はまどろっこしく感じられて未だに慣れません。*1 その R を用いた分析の生産性を向上に大きく寄与しているのが、1年程前に使い始めた {targets} です。以下の記事にも、研究開発部の R
データアナリティクス事業本部 インテグレーション部 機械学習チームの鈴木です。 2024年6月12日にクラスメソッドの大阪オフィスで開催された勉強会Midosuji Tech #1で『AthenaとStep Functionsで簡単ETLオーケストレーション』というタイトルで話しましたので資料を公開します。 当日は淀屋橋の大阪オフィスでオンサイトでイベントが開催されました。発表後にはワイワイガヤガヤタイムということで、参加者の方も交えたディスカッションが大変盛り上がりました。 発表資料 ポイント Step FunctionsのAPI統合で、S3バケットに配置したSQLファイルをステートマシンから読み込み、Athenaで実行する仕組みを紹介しました。昔からAWSを使っている方だとLambdaをステートマシン内で呼び出し、Lambda関数でS3バケットからのファイルの読み込みやAthenaでの
はじめにこんにちは、フューチャーでアルバイトをしている平野です。今回は、Vertex AI Pipelinesを利用してみて分かったTipsについて、いくつかピックアップしてまとめました。なお、コードは全てPython・Kubeflowを用いた場合を記載しています。 前提知識Vertex AI Pipelinesとは、GCP上でMLパイプライン機能を提供するサービスです。サーバーレス方式でMLワークフローをオーケストレートします。 基本的な使い方などについては様々なドキュメントがあるので今回は省略しますが、主には以下の公式ドキュメントを参考にしました。 Vertex AI のドキュメント 公式のドキュメントです。Vertex AIの概要、チュートリアル、コードサンプルなどがまとめられています。 Kubeflowのドキュメント Vertex AI Pipelinesを使う際に参照することにな
大阪オフィスの玉井です。 今回は下記の機能を使ってみたので、ご紹介します。 dbtはどこにデータモデルを作るのか? dbtはELTの「T」を担当するツールということで、分析に最適化されたテーブルやビューを簡単に構築することができる…というのは、dbtを調べたり触ったりしたことがある方はわかると思います。 では、その「分析に最適化されたテーブルやビュー」というのは、どのDB・どのスキーマに作られるのでしょうか。 ざっくりいうと最初の設定で指定した場所に作られる DBについては、Projectを作成するときに、対象のDWHの接続情報を設定しますが、そのときに指定した場所になります。ついでに、スキーマも合わせて設定できますが、こちらは接続情報として設定するのではなく、ユーザー毎に持つ「開発用の資格情報」として設定します。 「なんでこの設定こんな分かれ方してんの?」って思っちゃいますが、「どのスキ
こんちには。 データアナリティクス事業本部 機械学習チームの中村(nokomoro3)です。 今朝目が覚めたら、Amazon SageMakerでマネージドなMLflowが使用可能になっていました。 アナウンス Amazon SageMaker now offers a fully managed MLflow Capability - AWS 公式ブログ Announcing the general availability of fully managed MLflow on Amazon SageMaker | AWS News Blog ドキュメント Manage machine learning experiments using Amazon SageMaker with MLflow - Amazon SageMaker 料金 Machine Learning Service
これは何? こんにちは。 dely株式会社でデータエンジニアをしておりますharry(@gappy50)です。 この記事は、昨年書いた以下の記事の続きの記事になります。 SnowflakeではDynamic TablesのPuPrが開始されており、宣言的なデータパイプラインの全貌徐々に見え隠れしております。 また、これに追従する形でdbt1.6でもMaterialized View(SnowflakeではDynamic Table)をサポートしはじめました。 このDynamic Tablesのメリットとして一番わかりやすいのは、ニアリアルタイムなストリーミングパイプラインをクエリを書くだけで実現が可能になる面だと思います。 これまではモデルを作成したあとのワークロードの実行は dbt build を実行するタイミングとなってしまうため、リアルタイムなデータパイプラインの構築が難しい側面があ
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く