awslabs/deequ
Deequ is a library built on top of Apache Spark for defining "unit tests for data", which measure data quality in large datasets.
何を解決するか
Deequは、大規模なデータセットを「ユニットテスト」する方法を提供し、誤ったデータや破損したデータがコンシューマーシステムや機械学習アルゴリズムに到達するのを早期に防ぎます。開発者はデータに関する仮定(たとえば、特定の列にnull値がないこと)を明示的に記述し、スケールに応じて検証できます。
動作方法
Apache Sparkの上に構築されたDeequは、テーブル形式のデータ(CSV、データベーステーブル、ログなど)を処理し、定義された制約をSparkジョブの連続として変換してメトリクスを計算します。Scala/Java APIまたは宣言型言語であるDQDL(Data Quality Definition Language)を用いて、完全性、一意性、範囲チェックなどのルールを定義できます。また、行レベルでの評価もサポートしており、特定のルールに違反したレコードを正確に特定できます。
対象ユーザー
大規模なデータセット(数十億行)を分散ファイルシステムやデータウェアハウスで扱い、データ品質と一貫性を確保する必要があるデータエンジニアやML実践者。
主な特徴
- スケーラブルな検証: Apache Sparkを活用して数十億行のデータに対して設計されています。
- 宣言型ルール: 読みやすくシンプルなルール定義を可能にするDQDLをサポート。
- コードによる制約: 量子化、URLパターン、サイズ制約など、複雑なチェックを定義するための柔軟なAPI。
- 高度な分析: データプロファイリング、時間経過に伴うメトリクスの異常検出、自動制約提案機能を含む。
- 行レベルの追跡: 品質チェックに失敗した特定の行を特定できる機能。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト