FileSystem & Memory 스토어¶
실무 운영 가이드에서 Local을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다.
FileSystem Store¶
실무 운영 가이드에서 JSON, FileSystemStore, FileSystemStore을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다.
Basic Usage¶
import truthound as th
from truthound.stores.backends.filesystem import FileSystemStore
from truthound.stores.results import ValidationResult
# Default configuration
store = FileSystemStore()
# Custom path
store = FileSystemStore(
base_path=".truthound/store",
namespace="production",
prefix="validations",
)
# Save a result
run = th.check("customers.csv")
stored_result = ValidationResult.from_report(run, "customers.csv")
run_id = store.save(stored_result)
# Retrieve
result = store.get(run_id)
Using the Factory¶
from truthound.stores import get_store
store = get_store("filesystem", base_path=".truthound/store")
설정¶
from truthound.stores.backends.filesystem import FileSystemConfig
config = FileSystemConfig(
base_path=".truthound/store", # Base directory
namespace="default", # Namespace for organization
prefix="validations", # Path prefix
file_extension=".json", # File extension
create_dirs=True, # Auto-create directories
pretty_print=True, # Indent JSON output
use_compression=False, # Enable gzip compression
)
설정 Options¶
| 실무 운영 가이드에서 Option을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다. | 실무 운영 가이드에서 Type을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다. | 실무 운영 가이드에서 Default을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다. | 실무 운영 가이드에서 Description을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다. |
|---|---|---|---|
실무 운영 가이드에서 base_path을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다. |
실무 운영 가이드에서 str을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다. |
실무 운영 가이드에서 .truthound/store을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다. |
Base directory for 파일 |
실무 운영 가이드에서 namespace을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다. |
실무 운영 가이드에서 str을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다. |
실무 운영 가이드에서 "default"을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다. |
실무 운영 가이드에서 Logical을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다. |
실무 운영 가이드에서 prefix을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다. |
실무 운영 가이드에서 str을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다. |
실무 운영 가이드에서 "validations"을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다. |
실무 운영 가이드에서 Additional을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다. |
실무 운영 가이드에서 file_extension을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다. |
실무 운영 가이드에서 str을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다. |
실무 운영 가이드에서 .json을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다. |
파일 extension |
실무 운영 가이드에서 create_dirs을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다. |
실무 운영 가이드에서 bool을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다. |
실무 운영 가이드에서 True, True을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다. |
실무 운영 가이드에서 Create을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다. |
실무 운영 가이드에서 pretty_print을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다. |
실무 운영 가이드에서 bool을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다. |
실무 운영 가이드에서 True, True을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다. |
실무 운영 가이드에서 JSON, Format을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다. |
실무 운영 가이드에서 use_compression을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다. |
실무 운영 가이드에서 bool을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다. |
실무 운영 가이드에서 False, False을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다. |
Compress 파일 with gzip |
Compression¶
실무 운영 가이드에서 Enable을(를) 다루는 항목입니다:
store = FileSystemStore(
base_path=".truthound/store",
compression=True, # Files saved as .json.gz
)
실무 운영 가이드에서 관련 설정과 실행 흐름을(를) 다루는 항목입니다:
- 실무 운영 가이드에서 .json.gz, Files을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다.
- 실무 운영 가이드에서 gzip.compress(), Content을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다.
- 실무 운영 가이드에서 Decompression을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다.
Directory Structure¶
The store organizes 파일 as:
{base_path}/
├── {namespace}/
│ └── {prefix}/
│ ├── _index.json # Metadata index
│ ├── {run_id}.json # Result files
│ └── {run_id}.json.gz # (if compression enabled)
Index Management¶
실무 운영 가이드에서 _index.json을(를) 다루는 항목입니다:
{
"run-123": {
"data_asset": "customers.csv",
"run_time": "2024-01-15T10:30:00",
"status": "failure",
"file": "run-123.json",
"tags": {"env": "prod"}
}
}
실무 운영 가이드에서 Rebuild을(를) 다루는 항목입니다:
store = FileSystemStore(base_path=".truthound/store")
store.initialize()
count = store.rebuild_index()
print(f"Indexed {count} items")
Expectation Store¶
실무 운영 가이드에서 Store을(를) 다루는 항목입니다:
from truthound.stores.backends.filesystem import FileSystemExpectationStore
store = FileSystemExpectationStore(
base_path=".truthound/expectations",
namespace="default",
prefix="suites",
)
# Save suite
suite = ExpectationSuite.create("my_suite", "customers.csv")
store.save(suite)
# Retrieve
suite = store.get("my_suite")
Memory Store¶
실무 운영 가이드에서 MemoryStore, MemoryStore, Data을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다.
Use Cases¶
- 실무 운영 가이드에서 Unit을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다.
- 실무 운영 가이드에서 Development을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다.
- Temporary 검증 workflows
- 성능 benchmarking
Basic Usage¶
from truthound.stores.backends.memory import MemoryStore
store = MemoryStore()
# Save and retrieve
run_id = store.save(result)
result = store.get(run_id)
# Check existence
assert store.exists(run_id)
# Clear all data
count = store.clear_all()
설정¶
from truthound.stores.backends.memory import MemoryConfig
config = MemoryConfig(
max_items=0, # 0 = unlimited
deep_copy=True, # Deep copy on save/retrieve
)
설정 Options¶
| 실무 운영 가이드에서 Option을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다. | 실무 운영 가이드에서 Type을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다. | 실무 운영 가이드에서 Default을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다. | 실무 운영 가이드에서 Description을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다. |
|---|---|---|---|
실무 운영 가이드에서 max_items을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다. |
실무 운영 가이드에서 int을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다. |
실무 운영 가이드에서 0을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다. |
실무 운영 가이드에서 Max을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다. |
실무 운영 가이드에서 deep_copy을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다. |
실무 운영 가이드에서 bool을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다. |
실무 운영 가이드에서 True, True을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다. |
실무 운영 가이드에서 Deep을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다. |
Memory Management¶
실무 운영 가이드에서 max_items, Limit을(를) 다루는 항목입니다:
store = MemoryStore(max_items=1000)
# When limit is reached, oldest items are removed
for i in range(1500):
store.save(result)
# Only the newest 1000 items remain
assert len(store.list_ids()) == 1000
Deep Copy Behavior¶
실무 운영 가이드에서 관련 설정과 실행 흐름을(를) 다루는 항목입니다:
# With deep_copy=True (default)
store = MemoryStore(deep_copy=True)
run_id = store.save(result)
retrieved = store.get(run_id)
retrieved.tags["modified"] = True
original = store.get(run_id)
assert "modified" not in original.tags # Original unchanged
# With deep_copy=False (faster but mutable)
store = MemoryStore(deep_copy=False)
# Warning: Changes to retrieved items affect stored data
Expectation Store¶
from truthound.stores.backends.memory import MemoryExpectationStore
store = MemoryExpectationStore()
suite = ExpectationSuite.create("test_suite", "data.csv")
store.save(suite)
suite = store.get("test_suite")
Common Operations¶
실무 운영 가이드에서 ValidationStore, Both, ValidationStore을(를) 다루는 항목입니다:
# Initialize (lazy, called automatically)
store.initialize()
# Save
run_id = store.save(result)
# Retrieve
result = store.get(run_id)
# Check existence
exists = store.exists(run_id)
# Delete
deleted = store.delete(run_id)
# List IDs
ids = store.list_ids()
# Query with filters
from truthound.stores.base import StoreQuery
query = StoreQuery(
data_asset="customers.csv",
status="failure",
limit=10,
)
results = store.query(query)
Error Handling¶
from truthound.stores.base import (
StoreNotFoundError,
StoreReadError,
StoreWriteError,
)
try:
result = store.get("nonexistent-id")
except StoreNotFoundError as e:
print(f"Not found: {e.identifier}")
try:
store.save(result)
except StoreWriteError as e:
print(f"Write failed: {e}")
Choosing Between 스토어¶
| 실무 운영 가이드에서 Scenario을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다. | 실무 운영 가이드에서 Recommended, Store을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다. |
|---|---|
| 실무 운영 가이드에서 Production을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다. | 실무 운영 가이드에서 FileSystemStore, FileSystemStore을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다. |
| 실무 운영 가이드에서 Development을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다. | 실무 운영 가이드에서 FileSystemStore, FileSystemStore을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다. |
| 실무 운영 가이드에서 Unit을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다. | 실무 운영 가이드에서 MemoryStore, MemoryStore을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다. |
| 통합 tests | 실무 운영 가이드에서 MemoryStore, FileSystemStore, MemoryStore, FileSystemStore을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다. |
| CI/CD 파이프라인 | 실무 운영 가이드에서 FileSystemStore, FileSystemStore을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다. |
| 실무 운영 가이드에서 Temporary을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다. | 실무 운영 가이드에서 MemoryStore, MemoryStore을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다. |
다음 단계¶
- 실무 운영 가이드에서 Cloud, Storage, GCS, Azure, Blob을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다.
- 실무 운영 가이드에서 Versioning, Version을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다.
- 실무 운영 가이드에서 Caching, In-memory을(를) 기준으로 데이터 품질 검증, 워크플로우 자동화, 결과 해석 방법을 설명합니다.