← スキル一覧に戻る

data-engineering
by doanchienthangdev
Omega Vibecode Kit
⭐ 2🍴 1📅 2026年1月21日
SKILL.md
name: data-engineering description: ML data engineering covering data pipelines, data quality, collection strategies, storage, and versioning for machine learning systems.
Data Engineering for ML
Building robust data infrastructure for ML systems.
Data Pipeline Architecture
┌─────────────────────────────────────────────────────────────┐
│ ML DATA PIPELINE │
├─────────────────────────────────────────────────────────────┤
│ │
│ COLLECTION → VALIDATION → PROCESSING → STORAGE │
│ ↓ ↓ ↓ ↓ │
│ Sources Schema Check Transform Data Lake │
│ APIs Quality Check Normalize Feature Store │
│ DBs Statistics Encode Model Registry │
│ │
└─────────────────────────────────────────────────────────────┘
Data Collection
from dataclasses import dataclass
from typing import List, Dict
@dataclass
class DataSource:
name: str
type: str # database, api, file, stream
connection: Dict
class DataCollector:
def __init__(self, sources: List[DataSource]):
self.sources = sources
def collect(self, source_name: str) -> pd.DataFrame:
source = next(s for s in self.sources if s.name == source_name)
if source.type == "database":
return pd.read_sql(source.connection["query"],
source.connection["conn"])
elif source.type == "api":
response = requests.get(source.connection["url"])
return pd.DataFrame(response.json())
elif source.type == "file":
return pd.read_parquet(source.connection["path"])
Data Quality
import great_expectations as ge
def validate_data(df: pd.DataFrame, expectations_path: str) -> bool:
ge_df = ge.from_pandas(df)
# Schema validation
assert ge_df.expect_column_to_exist("user_id").success
assert ge_df.expect_column_values_to_not_be_null("user_id").success
assert ge_df.expect_column_values_to_be_unique("user_id").success
# Value validation
assert ge_df.expect_column_values_to_be_between(
"age", min_value=0, max_value=150
).success
# Statistical validation
assert ge_df.expect_column_mean_to_be_between(
"purchase_amount", min_value=0, max_value=10000
).success
return True
Data Versioning
# DVC for data versioning
# dvc init
# dvc add data/processed/
import dvc.api
# Load specific version
data_url = dvc.api.get_url(
path='data/processed/train.parquet',
repo='https://github.com/org/repo',
rev='v1.2.0'
)
# Track changes
def version_data(data_path: str, message: str):
import subprocess
subprocess.run(["dvc", "add", data_path])
subprocess.run(["git", "add", f"{data_path}.dvc"])
subprocess.run(["git", "commit", "-m", message])
subprocess.run(["dvc", "push"])
Data Storage Patterns
| Pattern | Use Case | Technology |
|---|---|---|
| Data Lake | Raw storage | S3, GCS, ADLS |
| Data Warehouse | Analytics | Snowflake, BigQuery |
| Feature Store | ML features | Feast, Tecton |
| Vector Store | Embeddings | Pinecone, Weaviate |
Commands
/omgdata:collect- Data collection/omgdata:validate- Data validation/omgdata:version- Version data
Best Practices
- Validate data at every stage
- Version all data assets
- Document data schemas
- Monitor data quality metrics
- Implement data lineage tracking
スコア
総合スコア
60/100
リポジトリの品質指標に基づく評価
✓SKILL.md
SKILL.mdファイルが含まれている
+20
✓LICENSE
ライセンスが設定されている
+10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
○最近の活動
3ヶ月以内に更新がある
0/10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
○タグ
1つ以上のタグが設定されている
0/5
レビュー
💬
レビュー機能は近日公開予定です