2024-10-01から1ヶ月間の記事一覧

DagsterでYearlyPartitionsDefinitionを実装する

概要 実装 概要 Dagsterでbackfillの単位として、パーティションという概念があります。 docs.dagster.io その中でも時間単位で制御したい場合、下記が提供されています。 HourlyPartitionsDefinition DailyPartitionsDefinition WeeklyPartitionsDefinition…

DagsterでBQテーブルの鮮度チェックを実装する

概要 下記記事について、SnowflakeのテーブルのSourceAssetに対して「2時間以内に更新があったか?」という鮮度チェックの例が載っていました。 個人の環境では、SnowflakeではなくBigQueryをメインに使っているため、BigQueryでも同じ処理をやりたいなと思…

Dagster Asset Checksについて調べた

概要 基本 asset_checks関数 1つのasset_check関数内に複数のチェック項目を設ける asset関数内にcheckまで書く asset_check factory pattern AssetCheckResultをカスタマイズする エラーレベル メタデータ 下流アセットのブロック asset_checkを含めた・含…

BigQueryのsamplingについて調べた

サンプリングとは サンプリングに関する誤解 サンプリングの料金は? サンプリングとは BigQueryのサンプリングについて理解を深めたので記します。 サンプリングとは、すべてのレコードを対象にするまでもないが、任意に抽出したn%のレコードに対してクエリ…

Dagsterのjob factory patternを通常のasset関数から徐々に理解する

概要 asset asset factory pattern job factory pattern 概要 Dagsterのデザインパターンであるjobクラス+asset_factoryメソッドのパターンを理解するために、最も基本的な概念であるasset関数から徐々に理解していくための解説を書きました。 asset もっと…

GitHub ActionsのScript Injectionを利用した攻撃

下記資料でGitHub Actionsのセキュリティの勉強をしていたら、GitHubリポジトリに設定されているsecretや環境変数をPull Requestによって盗めることが分かったので実験してみました。 speakerdeck.com なお、本記事はGitHub Actionsを書く際のセキュリティ意…

dbt-osmosimのカラムレベルdescription伝播をSQLパーサーを用いてスクラッチ実装してみる

下記のtableとviewがあります。 salary viewはemployee tableとsalary tableを結合しています。 tableにはカラムレベルでdescriptionがありますが、viewには無い状態です。 employee tablesalary tablesalary viewviewは分析者が簡易的に作ることが多く、des…