タグ

*softwareとworkflowに関するsh19910711のブックマーク (70)

  • Minio + DuckDB + dbt + Airflowでローカルにデータ基盤を立ててみる|FKeisuke

    かなり久しぶりの投稿になりました ここ3年ちょっとほどデータ系の分野が楽しく、データエンジニアをやっています 何年データエンジニアとしてやっていくかはまだ未知数ですがしばらくはこちらの道でやっていきたいと思っています 今日はミニデータ基盤としてMinio + DuckDB + dbt + Airflowでかなり楽にローカルにデータ基盤を立てられるよという紹介をしたいと思います リポジトリこちらとなります (まだ足りていない部分が割とありますが…) 使用するツールのざっくりとした紹介Minio オブジェクトストレージサーバーで、Amazon S3と互換性がある ローカル環境でも簡単にセットアップできる DuckDB 組み込み型SQLデータベースエンジン ポータブルでインストールが簡単 クエリ処理性能が高速 分析用途に適している dbt (Data Build Tool) データ変換ツール S

    Minio + DuckDB + dbt + Airflowでローカルにデータ基盤を立ててみる|FKeisuke
    sh19910711
    sh19910711 2024/06/09
    "ミニデータ基盤: Minio + DuckDB + dbt + Airflowでかなり楽にローカルにデータ基盤を立てられる / Minioでオブジェクトストレージを実現し、DuckDBにデータを取り込み + dbtでデータモデルを宣言的に定義しSQLによるデータ加工"
  • データカタログの最初の一歩 〜データ組織向けに dbt docs を整備している話〜 / Maintaining dbt docs for data organizations

    sh19910711
    sh19910711 2024/05/28
    "データ関係の仕様書があちこちに分散 + クエリを直接読まないと分からない / 早めにデータカタログとしての場所だけ作って運用 + テーブル、クエリ、リネージグラフがサクッと確認できるだけでも十分"
  • Kubernetes でワークフローを組むなら cdk8s-argoworkflow がよさそう!/ cdk8s-argoworkflow is great!

    「 JAWS-UG CDK支部 #14」での登壇資料です。 イベントURL: https://jawsug-cdk.connpass.com/event/317935/

    Kubernetes でワークフローを組むなら cdk8s-argoworkflow がよさそう!/ cdk8s-argoworkflow is great!
    sh19910711
    sh19910711 2024/05/23
    "Argo Workflows: 単体の利用ではYAML特有の悩み / cdk8s-argoworkflow: 補完機能で快適 + 繰り返し処理でコード量をグッと減らせる / スナップショットテストと生成AIで簡単且つ安全にリファクタリング"
  • ArgoCD の Config Management Plugin (CMP)を理解し、Plugin でマニフェストの変数置換を行う - kencharosの日記

    概要 前職の同僚がずっと、PullRequest ごとにプレビュー環境でアプリケーションをデプロイしたいと言っていた。 確かにそれができれば便利ではあるけど、たとえ k8s の力を借りても実現するまでの手順は多く、遠い夢かと思っていた。 でも ArgoCD で頑張ればその夢は近くなるかもしれない。 これは、ArgoCDの Config Management Plugin (CMP) と呼ばれる機能を使って、動的なマニフェスト生成を行い、さらにPullRequestごとの固有の情報をマニフェストに柔軟に埋め込むための仕組みを考えてみたという話。 想定読者 k8s にある程度詳しい ArgoCD にもある程度詳しい ArgoCD の ApplicationSet や Generator の機能を知っている、あるいは調べればわかる方 参考資料 GitランチやPullRequestごとにプレビュ

    ArgoCD の Config Management Plugin (CMP)を理解し、Plugin でマニフェストの変数置換を行う - kencharosの日記
    sh19910711
    sh19910711 2024/05/08
    "PullRequestごとの固有の情報をマニフェストに柔軟に埋め込む / ArgoCD: kustomize や Helm などのビルドに対応 + Plugin を使うことで任意の処理でマニフェストのビルドを行うことができる" 2022
  • 実験の再現性を高めるデータバージョン管理(DVC)の紹介 - techtekt

    データバージョンの管理とは? データバージョンの管理とは、バイナリデータのバージョンを管理することを指します。データバージョンの管理は、Git 等でのコードのバージョン管理をバイナリデータに拡張しています。実験の再現性を高められるメリットがあります。 DVC とは? データのバージョンを管理する機能をもつオープンソースソフトウェアです。データのハッシュをテキストファイルで保持し git でバージョン管理します。また、yaml ファイルで実行パイプラインを定義して監視対象データが更新された際にハッシュを更新することで、新しいハッシュ値を含んだデータをバージョン管理します。更新されたデータファイルはキャッシュディレクトリに保存され、必要なタイミングで自動的に復元されます。 データのリモートリポジトリを定義することで、データ一式を簡単なコマンド操作で S3 等へ push / pull すること

    実験の再現性を高めるデータバージョン管理(DVC)の紹介 - techtekt
    sh19910711
    sh19910711 2024/04/24
    "シードを固定し、ログやMLflow等で実験結果を残しても、入力データが再現できなければ実行は再現できません / DVC: データのバージョンが管理 + パイプライン管理 + 実行結果の指標蓄積や指標推移の視覚化機能もあり"
  • TemporalというWorkflow Engineについて - kenfdev’s blog

    temporal.io Podcastを聴いていてたまたまTemporalというWorkflow Engineを見つけて、気になったので情報を集めてみました。 Temporalという会社 Maxim Fateev (CEO) と Samar Abbas (CTO)がFounder Amazon Simple Workflow ServiceやMicrosoft’s Durable Task Frameworkを設計したメンバー Temporalの元となった(?)CadenceというOSSを作った。これはUberを支えている技術Temporalというプロダクト Workflow Engine AWS Step FunctionsとかAzure Durable Functionsと同じような機能を持っている Single Stateful Service in your whole clo

    TemporalというWorkflow Engineについて - kenfdev’s blog
    sh19910711
    sh19910711 2023/06/03
    "Temporal: AWS Step FunctionsとかAzure Durable Functionsと同じような機能 / Amazon Simple Workflow ServiceやMicrosoft’s Durable Task Frameworkを設計したメンバー / Temporalの元となった(?)CadenceというOSSを作った / Stateの管理は難しいし複雑" / 2022
  • Lookerから、dbtと相性のよいLightdashに移行してみた話

    CI/CDがあたりまえの今の時代にAPIテスティングツールに求められていること / CI/CD Test Night #7

    Lookerから、dbtと相性のよいLightdashに移行してみた話
    sh19910711
    sh19910711 2023/05/02
    "Looker: 企画ではLookerのダッシュボードが浸透 + 営業サイドまで広めていくと利用者数がかなり増えることがネック / Lightdash: dbtで利用しているYAMLファイルを元に構築できる + OSS(無償)とCloud(有償)での提供"
  • dbtのプロジェクトを評価してくれるWhetstoneを使ってみた

    はじめに Whetstoneはdbt プロジェクトのメタデータとアーティファクトを分析して、プロジェクトの構造、テスト、ドキュメント、および実行の特性を強化する推奨事項を作成するサービスです。 (機械翻訳....) 特徴 グラフ構造、実行、テスト、および文書化のための推奨事項の生成 dbt プロジェクトのグラフ ビューと、結果ごとのサブグラフの視覚化 グラフの複雑さとテスト カバレッジ レポート 複数のプロジェクトを持つアカウントのサポート 出会い Analytics and the craft of software engineeringで、dbtコミュニティーが手掛けるプロダクトの一つにWhetstoneが紹介されていました。(dbt-osmosisも紹介されていますね) Alexander Butler’s dbt-osmosis automates the headache of

    dbtのプロジェクトを評価してくれるWhetstoneを使ってみた
    sh19910711
    sh19910711 2023/05/02
    dbt-labsが作ってるツールもあるのか / "Whetstone: dbt プロジェクトのメタデータとアーティファクトを分析 + グラフの複雑さとテスト カバレッジ + 文書化のための推奨事項の生成 / 似たような製品にdbt-project-evaluatorがある"
  • [レポート] dbtウェビナー『What is dbt?データ基盤にdbtが必要な3つの理由』を開催しました! #dbt_classmethod | DevelopersIO

    [レポート] dbtウェビナー『What is dbt?データ基盤にdbtが必要な3つの理由』を開催しました! #dbt_classmethod 2023年03月14日(火)、モダンデータスタック(MDS)を構成するサービスの1つであるdbtにちなんだイベント『What is dbt?データ基盤にdbtが必要な3つの理由』を開催しました。モダンデータスタック及びdbtに関しては下記ページをご参照ください。 このイベントはオンライン(Livestormによる配信)及びオフライン(弊社クラスメソッド岩町オフィス)でのハイブリッド開催となりました。オフライン開催分については諸々状況を鑑みて少数招待に留める形となりましたが、オンライン開催分に関しては定員数250人を超える参加申し込みがありました。これは嬉しい状況でした。 当日のTwitterつぶやきまとめはこちらです。 当エントリでは会場の模様

    [レポート] dbtウェビナー『What is dbt?データ基盤にdbtが必要な3つの理由』を開催しました! #dbt_classmethod | DevelopersIO
    sh19910711
    sh19910711 2023/04/24
    "dbt社から頂いたクッキー&靴下のノベルティをご提供 / dbt Labs: 売上の9割がソフトの販売、14000以上の利用者、1800以上のdbt Cloudの利用者 / 従来のETL: 限られた人しかアクセス出来ない→サイロ化"
  • dbtを使い始めて数ヶ月が経った雑感 - 逆さまにした

    この記事は dbt Advent Calendar 2022 の25日目の記事です。dbtを使い始めて数ヶ月ほど経過したので、これまでの所感を書きます。 はじめに dbt (data build tool) はデータ処理変換を担うフレームワークです[1]。データエンジニアリングにおいて重要なデータ分析の品質保証をデータモデルの構築、テスト、ドキュメンテーションをいった要素で実現します。とりわけDWHに統合して使われることが意図されており、ETLにおけるTransferの役割を実現してくれます。 Coalece2022の[3]のセッションでも語られていますが、この25年間、ストレージコストが低下したことや、よりデータへのアクセスが容易になったなったことで、足元ではすべての変換を一つのDWHで行うETLからELTへといった流れも出てきました。この流れによって、よりdbtが真価を発揮しやすい環境

    dbtを使い始めて数ヶ月が経った雑感 - 逆さまにした
    sh19910711
    sh19910711 2023/03/11
    2022 / "クエリのコードレビュー: 大きな集中力を要し + 弱い心を前に浅いレビューで通してしまったりする + 積み重なると属人的なクエリのできあがり / Coalece2022でのなぜPythonを第二言語としたのかについてのセッション"
  • マーケター自身がデータを管理するために、広告運用にdbtを導入した経緯と効果 - MonotaRO Tech Blog

    こんにちは、マーケティング部門広告グループの小林です。この記事ではオンライン広告運用に使っているデータ変換処理をdbtに移行した過程と得られた効果についてご紹介します。 モノタロウでは、全社的なデータ活用研修などにより、マーケティングのようなビジネス系の部署でも、SQLを自身で書いてデータ抽出を行い、数字に基づいた意思決定を行っています。その一方で、集計後の数値のズレやドメイン固有のデータの品質管理など、活用が進んだ企業ならではの課題というのも表面化してくるようになってきました。 オンライン広告運用においては、投下した費用など配信実績のレポーティング、広告媒体へのデータ送信などのいわゆるELTを安定的に回す仕組みが必要になりますが、処理の自動化やデータの品質まで求められるようになると、「データが抽出できる」だけでは限界が見えてきていました。そこで今回、マーケター自身がデータを管理する立場に

    マーケター自身がデータを管理するために、広告運用にdbtを導入した経緯と効果 - MonotaRO Tech Blog
    sh19910711
    sh19910711 2023/02/17
    "SQL以外のコーディングが中心になると学習コストが高く / Argo WorkflowやPythonでのコーディングが必要なAirflowなどは使わない / データ分析の業務は往々にして未知のドメインに飛び込み、定義さえ分からないデータと格闘"
  • またね、Bazel 。ただいま、シェルスクリプト。 - Qiita

    この記事は株式会社ビットキー Advent Calendar 2022 17日目の記事です。 BKP&HubCoreModule でソフトウェアエンジニアをやっている @nrnrk が担当します。 まえがき Bazel はクールな理念を持ったナイスなツールです。大好きです。 ただ、私のチームにおいては、ミスマッチな点があったため、泣く泣くお別れしました。その話について書きます。 想定読者 Bazel を入れてみたけどしっくり来ていない人 Bazel の導入を検討中の人 Bazel とは Bazel とは、多言語のマルチプラットフォームのプロジェクトをビルド・テストできるツールです。ビルドの 再現性を高い精度で保ち つつ、 ビルド時間もキャッシュを用いて短く できるというのが強みです。 つまり、JavaC++GoAndroid、iOS などを WindowsmacOSLinux

    またね、Bazel 。ただいま、シェルスクリプト。 - Qiita
    sh19910711
    sh19910711 2022/12/31
    "ビルドに必要な処理はシェルスクリプトで管理 / Bazel 自体や関連する rule のメンテナンスがなくなり、ビルド関連がとてもシンプルに / チームメンバーが Bazel をキャッチアップするモチベーションがあるか"
  • Notion – The all-in-one workspace for your notes, tasks, wikis, and databases.

    A new tool that blends your everyday work apps into one. It's the all-in-one workspace for you and your team

    Notion – The all-in-one workspace for your notes, tasks, wikis, and databases.
    sh19910711
    sh19910711 2022/12/21
    "好きなスーパーはライフ / dbt-datamocktoolと呼ばれるモデル処理時にrefを任意に切り替えて実行し、実行結果を特定のモデルのデータと比較して評価テストしてくれるパッケージが存在"
  • dbt の導入、毎日30分の輪読会でチームに浸透させる - Techtouch Developers Blog

    テックタッチアドベントカレンダー15 日目担当の teru です。今年の個人的ベスト家電はスマートフォンで見れるネットワークカメラでした。子ども達が寝室で寝ている様子を確認しながら家事ができるのでとても便利です。 きっかけ 輪読会の準備 輪読会の実施 やってみてどうだったか 良かった点 気になった点 終わりに きっかけ 13 日目の記事 でも触れているように、弊社でデータ分析基盤のモデリング用途に dbt の利用が始まりました。私の所属する分析運用チームでもこの流れに乗って、dbt を使って分析業務に関わる範囲のデータテーブル構築を自分たち自身で行えるように取り組むことにしました。 分析運用チームには、この記事を書いている時点で私を含む 2 名が在籍していました。二人とも BI ツールを用いて SQL クエリを書いたりレポートを作成したりといったデータアナリストの業務経験はありましたが、d

    dbt の導入、毎日30分の輪読会でチームに浸透させる - Techtouch Developers Blog
    sh19910711
    sh19910711 2022/12/17
    "発表の当番は開始時間までに記事の翻訳を Notion に書いておき、時間になったらオンラインで集合して内容を読み上げる / 翻訳が間に合わない時は原文のまま読むとか訳しながら読むとかでもよいやという気持ち"
  • dbt Labs のベストプラクティス全部違反してみた。そして dbt project evaluator を使って全部直してみた。

    dbt Labs のベストプラクティス全部違反してみた。そして dbt project evaluator を使って全部直してみた。 サマリ dbt Labs では、dbtプロジェクト、並びに変換パイプラインに関するベストプラクティスを紹介しています。 さらに、いくつかのベストプラクティスについては、自動で評価可能な dbt project evaluator というツールも公開されています。 今回は、dbt project evaluator で評価可能な、20 個のベストプラクティスを全て「違反」した dbt プロジェクトを1から作成し、このツールを当てて評価した上で、修正をかけました。 実際にツールがうまく検知してくれるのかを確認し、検知された項目を修正する場合の手続きとその難所や、現実的な運用方法をまとめています。 ※この記事は dbtアドベントカレンダー2022 の 12/1

    dbt Labs のベストプラクティス全部違反してみた。そして dbt project evaluator を使って全部直してみた。
    sh19910711
    sh19910711 2022/12/11
    "dbt project evaluator で評価可能な、20 個のベストプラクティスを全て「違反」した dbt プロジェクトを1から作成 / ツールがうまく検知してくれるのかを確認し、検知された項目を修正する場合の手続きとその難所"
  • 楽々スケール Digdag on GKE Autopilot の紹介とその運用Tips - ZOZO TECH BLOG

    こんにちは、MA基盤チームの田島です。私達のチームでは複数のワークフローエンジンを利用し、メールやLINEなどへの配信を含むバッチ処理を行っていました。今回それらのワークフローエンジンをすべてDigdagに統一しました。そして実行環境としてGKEのAutopilot環境を選択したことにより、柔軟にスケールするバッチ処理基盤を実現しましたのでそれについて紹介します。 また、その中で得られた運用Tipsについても合わせて紹介します。 目次 目次 Digdag on GKE Autopilotの構成 Digdagの4つの役割 Worker Scheduler Web API Kubernetes Command Executor Workerでのタスク実行の問題 Command Executor Kubernetes Command Executorの利用 GKE Autopilot環境でのKu

    楽々スケール Digdag on GKE Autopilot の紹介とその運用Tips - ZOZO TECH BLOG
    sh19910711
    sh19910711 2022/12/11
    "Digdag on GKE Autopilot / Digdag v0.10.4にて、Command Executorのプラグイン化 / Kubernetes Command Executorを利用することでWorkerはタスク実行用のPodを作成し、作成したPodの処理完了をポーリングするだけ"
  • Digdag x Luigi x Beam が協力して賢者の石を取りに行くのをやめた - Qiita

    TL;DR 前任者が闇の魔法使いだったという話 Workflow Engine は混ぜるな危険 ポエムなのでコードとかない 出てくる言葉については語らないのでいくらか前提知識が必要 Prologue 「ハリー・ポッターと賢者の石」でハリー・ポッター、ロン・ウィーズリー、ハーマイオニー・グレンジャーの三人はそれぞれが役割を分担してパスを繋ぎ賢者の石へと辿り着いていました。 Workflow Engine と呼ばれるようなものはようはそういう風にタスクで処理を独立させつつ順序に従って処理するための仕組みですね。 例えば YAML ベースの Digdag とか、 Python で記述する Luigi とか、JavaPython で Cloud Dataflow (Apache Beam) とか色々あります。 私は最近 これ を使ってログを分析して賢者の石に辿り着くためのデータ分析基盤の担当

    Digdag x Luigi x Beam が協力して賢者の石を取りに行くのをやめた - Qiita
    sh19910711
    sh19910711 2022/11/13
    2018 / "Workflow Engine は混ぜるな / 思想が違うから緩衝材に使われてる Python の書き方が場所によって異なるのでコードを追いにくい / CronJobs (k8s) でスケジューリング + ワークフローは Digdag + 直接 bq コマンドを使う"
  • Lightdashを使ってみた ~データ可視化編

    OSS BIツールのLightdashをローカル環境で使ってみたので、実際にデータを可視化してみました。 Lightdashはdbtと接続して使用するBIツールで、dbtで定義したmetricsを可視化することができるという特徴があります。昨今、dbtが流行してきていることを踏まえると、このようなdbtとシームレスに繋がるBIツールがどんどん出てくるのではと思っており、その筆頭として非常に注目しています。 今回の記事では、実際にデータを可視化するところからの紹介となります。 Lightdashをセットアップして、GitHub上のdbtプロジェクトと連携するところまでは別の記事に書いたので、セットアップから始めたいという方はこちらをお読み頂ければと思います。 使用するデータ 今回は、自分のツイートに関するデータを可視化に使いました。 自分のツイートデータはTwitter Developer

    Lightdashを使ってみた ~データ可視化編
    sh19910711
    sh19910711 2022/11/12
    "dbt上でMetricsを定義する方法は2つ: metricsタグを使用する方法にはいくつかの制限 + metaタグを使用する方法が推奨 / Semantic Layer関連の話題を見ていると、1つ目のmetricsタグを使用する方法が主流になる予感がしている"
  • Makefileでヘルプコマンドを書くときの小技

    January 18, 2019 主にインフラオペレーションの文脈でMakefileを使うことは多いと思いますがそのときのhelp出力の話です。コマンド例を見やすく出力したり色付けしたりするなどのちょっとした小技を紹介します。 自分が使うためのコピペ用ですが、せっかくなので解説もしようかと思います。 コードは以下です。 .DEFAULT_GOAL := help help: ## print this message @echo "Example operations by makefile." @echo "" @echo "Usage: make SUB_COMMAND argument_name=argument_value" @echo "" @echo "Command list:" @echo "" @printf "\033[36m%-30s\033[0m %-50s %s\

    sh19910711
    sh19910711 2022/10/30
    2019 / "`##` を区切り文字として、最初の区切りのあとに説明文を、次の区切りのあとにコマンド例 / このリポジトリなんだったっけ…?と忘れかけたときなんかに便利"
  • dbtを導入して小規模チームでも運用可能なデータマネジメント体制を構築した話 - High Link テックブログ

    はじめに こんにちは。株式会社High Linkのデータユニットマネージャーの芦川 (@assy) です。 私たちのチームでは、データを強みとした事業価値創出を促進するために、データ基盤の整備やデータマネジメント、全社的なデータ利活用レベルの引き上げに取り組んでいます。 データマネジメントをしていると、「誰が作ったかわからない野良のテーブルが乱立している」ことや「BigQueryコンソール上でviewを定義してしまってコードレビューができない」さらには、「テーブル間の依存関係がわからず削除できない」といった課題にぶつかる方は多いんじゃないでしょうか。 私たちもまさにこのような問題に直面し、導入したのがdbtです。 今回は、dbtの導入に至る経緯や選定の理由、dbtをどう活用しているのかといった話を共有させて頂こうと思います。 私たちのようにデータマネジメントにがっつり人的リソースを割けない

    dbtを導入して小規模チームでも運用可能なデータマネジメント体制を構築した話 - High Link テックブログ
    sh19910711
    sh19910711 2022/09/10
    "dbt: 利用者側の工夫や学習がある程度必要なもの + 管理がしやすくなる以上に、チームで共通のツールを採用し、プロセスを統一化できることに大きな価値がある"