Domino Datasets

作者 dominodatalabd86698d74d56無授權條款7 個星標收錄於 2026年10月8日更新於 2026年10月8日儲存庫2 天前更新

Work with Domino Datasets - high-performance, versioned filesystem storage. Covers dataset creation, snapshots for versioning, sharing across projects, mounting paths (/domino/datasets/), and performance optimization. Use when managing data storage, creating reproducible data versions, or sharing data between projects.

AI 產生的概覽

指導使用 Domino 資料集:建立、掛載路徑、快照、標籤、共用與效能最佳化。

功能
此技能說明如何建立與管理 Domino 資料集,也就是 Domino 資料科學專案所用的版本化檔案系統儲存。內容記錄 DFS 與 Git 專案的掛載路徑、快照與標籤流程、權限、上傳方式,以及有效率讀取大型資料的方法。它也列出最佳實務與常見資料集問題的疑難排解步驟。
適用情境
適用於建立或管理 Domino 資料集、以快照進行資料版本控管、在專案之間共用資料,或查找資料集掛載路徑的情況。也可用於有效率讀取大型資料集,或診斷資料集存取與效能問題。
執行需求
不含指令碼,僅為說明內容。依範例操作需要 Domino 環境及 Domino Python SDK 或 CLI,資料處理片段另需 pandas、Dask、NumPy 或 h5py 等 Python 函式庫。

Domino Datasets Skill

Description

This skill helps users work with Domino Datasets - high-performance, versioned filesystem storage for data science projects.

Activation

Activate this skill when users want to:

  • Create or manage Domino Datasets
  • Work with dataset snapshots and versioning
  • Share data between projects
  • Access large datasets efficiently
  • Understand dataset paths and mounting

What is a Domino Dataset?

A Domino Dataset is:

  • High-performance storage: Network filesystem optimized for data science
  • Versioned: Create snapshots for reproducibility
  • Shareable: Access across projects
  • Scalable: No file size or count limits
  • Persistent: Data persists across executions

Creating a Dataset

Via Domino UI

  1. Navigate to your project
  2. Go to Data > Domino Datasets
  3. Click Create New Dataset
  4. Enter:
    • Name: Dataset name (e.g., training-data)
    • Description: What the dataset contains
  5. Click Create

Via Python SDK

python
from domino import Domino
domino = Domino("project-owner/project-name")
# Create a new datasetdataset = domino.datasets_create(    name="training-data",    description="Training data for classification model")

Dataset Paths

Dataset paths differ based on your project type. Domino has two project types with different mount structures.

DFS (Domino File System) Projects

DFS projects use /domino as the root:

/domino   |--/datasets      |--/local               <== Local datasets and snapshots         |--/clapton          <== Read-write dataset for owner and editor, read-only for reader         |--/mingus           <== Read-write dataset for owner and editor, read-only for reader         |--/snapshots        <== Snapshot folder organized by dataset            |--/clapton       <== Read-write for owner and editor, read-only for reader               |--/tag1          <== Mounted under latest tag               |--/1             <== Always mounted under the snapshot number               |--/2            |--/mingus               |--/tag2               |--/1               |--/2      |--/ella                <== Read-write shared dataset for owner and editor, Read-only for reader      |--/davis               <== Read-write shared dataset for owner and editor, Read-only for reader      |--/snapshots           <== Shared datasets snapshots organized by dataset         |--/ella             <== Read-write for owner and editor, read-only for reader            |--/tag3          <== Mounted under latest tag            |--/1             <== Always mounted under the snapshot number            |--/2         |--/davis            |--/tag4            |--/1            |--/2
Dataset TypePath
Local datasets/domino/datasets/local/{dataset-name}/
Local snapshots/domino/datasets/local/snapshots/{dataset-name}/{tag-or-number}/
Shared datasets/domino/datasets/{dataset-name}/
Shared snapshots/domino/datasets/snapshots/{dataset-name}/{tag-or-number}/

Git-Based Projects

Git-based projects use /mnt as the root:

/mnt   |--/data                  <== Local datasets and snapshots     |--/clapton             <== Read-write dataset for owner and editor, read-only for reader     |--/mingus              <== Read-write dataset for owner and editor, read-only for reader     |--/snapshots           <== Snapshot folder organized by dataset        |--/clapton          <== Read-write for owner and editor, read-only for reader           |--/tag1          <== Mounted under latest tag           |--/1             <== Always mounted under the snapshot number           |--/2        |--/mingus           |--/tag2           |--/1           |--/2   |--/imported     |--/data        |--/ella             <== Read-write shared dataset for owner and editor, read-only for reader        |--/davis            <== Read-write shared dataset for owner and editor, read-only for reader        |--/snapshots        <== Shared dataset snapshots organized by dataset           |--/ella          <== Read-write for owner and editor, read-only for reader              |--/tag3       <== Mounted under latest tag              |--/1          <== Always mounted under the snapshot number              |--/2           |--/davis              |--/tag4              |--/1              |--/2
Dataset TypePath
Local datasets/mnt/data/{dataset-name}/
Local snapshots/mnt/data/snapshots/{dataset-name}/{tag-or-number}/
Shared datasets/mnt/imported/data/{dataset-name}/
Shared snapshots/mnt/imported/data/snapshots/{dataset-name}/{tag-or-number}/

How to Identify Your Project Type

Check which paths exist in your execution:

python
import os
if os.path.exists("/domino/datasets"):    print("DFS Project")    dataset_root = "/domino/datasets/local"elif os.path.exists("/mnt/data"):    print("Git-Based Project")    dataset_root = "/mnt/data"

Permissions

Both project types follow the same permission model:

  • Owners/Editors: Read-write access to datasets
  • Readers: Read-only access

Example: Reading Data

python
import pandas as pd
# Git-Based Projectdf = pd.read_csv("/mnt/data/training-data/customers.csv")
# DFS Projectdf = pd.read_csv("/domino/datasets/local/training-data/customers.csv")
# List filesimport osfiles = os.listdir("/mnt/data/training-data/")  # Git-Basedfiles = os.listdir("/domino/datasets/local/training-data/")  # DFS

Uploading Data

Via Domino UI

  1. Go to dataset page
  2. Click Upload
  3. Select files (up to 50GB or 50,000 files via UI)
  4. Click Upload

Via Domino CLI (Large Uploads)

bash
# For large uploads, use CLIdomino upload /local/path/to/data /mnt/data/training-data/

Via Code in Workspace

python
import shutil
# Copy from local to datasetshutil.copy("local_file.csv", "/mnt/data/training-data/")
# Write directlydf.to_csv("/mnt/data/training-data/processed.csv", index=False)

Snapshots

What is a Snapshot?

A snapshot is a read-only, immutable version of your dataset at a point in time. Use snapshots for:

  • Reproducibility
  • Versioning training data
  • Rolling back to previous states

Create a Snapshot

python
# Via Python SDKsnapshot = domino.datasets_snapshot(    dataset_name="training-data",    tag="v1.0")

Or via UI:

  1. Go to dataset page
  2. Click Create Snapshot
  3. Add optional tag (e.g., v1.0, production)

Access Snapshots

python
# Latest snapshotdf = pd.read_csv("/mnt/data/training-data/data.csv")
# Specific tagged snapshotdf = pd.read_csv("/mnt/data/[email protected]/data.csv")

Snapshot Limits

  • Default limit: 20 snapshots per dataset
  • Configurable by admins
  • Oldest snapshots auto-deleted when limit reached

Tags

What are Tags?

Tags provide friendly names for snapshots:

  • production: Current production data
  • v1.0, v2.0: Version numbers
  • 2024-01-15: Date-based tags

Move Tags

Tags can be moved to different snapshots:

python
# Move 'production' tag to latest snapshotdomino.datasets_tag(    dataset_name="training-data",    snapshot_id="snapshot-123",    tag="production")

Sharing Datasets

Within Organization

  1. Go to dataset settings
  2. Set visibility to Organization
  3. Other projects can mount the dataset

Cross-Project Access

python
# Import dataset from another project# Configured in project settingsdf = pd.read_csv("/mnt/data/shared-dataset/data.csv")

Best Practices

1. Use Appropriate Storage

Data TypeStorage
Large training dataDomino Dataset
Model artifacts/mnt/artifacts/
CodeGit/Project files
Temporary files/tmp/

2. Organize Data

/mnt/data/my-dataset/├── raw/│   ├── customers.csv│   └── transactions.csv├── processed/│   ├── features.parquet│   └── labels.parquet└── metadata/    └── schema.json

3. Use Efficient Formats

python
# Parquet for tabular data (faster, smaller)df.to_parquet("/mnt/data/dataset/data.parquet")
# Feather for pandas DataFramesdf.to_feather("/mnt/data/dataset/data.feather")
# HDF5 for numerical arraysimport h5pywith h5py.File("/mnt/data/dataset/data.h5", "w") as f:    f.create_dataset("features", data=features)

4. Document Data

Include README and schema:

python
# Write metadatametadata = {    "created": "2024-01-15",    "source": "Customer database",    "columns": {"id": "int", "name": "string", "value": "float"}}
with open("/mnt/data/dataset/metadata.json", "w") as f:    json.dump(metadata, f)

5. Snapshot Before Changes

python
# Create snapshot before processingdomino.datasets_snapshot(    dataset_name="training-data",    tag="pre-processing")
# Then modify dataprocess_data()

Reading Large Datasets

Chunked Reading

python
# Read in chunkschunks = pd.read_csv(    "/mnt/data/dataset/large_file.csv",    chunksize=100000)
for chunk in chunks:    process(chunk)

Lazy Loading with Dask

python
import dask.dataframe as dd
# Read without loading into memorydf = dd.read_parquet("/mnt/data/dataset/large_data.parquet")
# Process lazilyresult = df.groupby("category").mean().compute()

Memory Mapping

python
import numpy as np
# Memory-map large arraysdata = np.memmap(    "/mnt/data/dataset/features.dat",    dtype='float32',    mode='r',    shape=(1000000, 100))

Troubleshooting

Dataset Not Found

  • Verify dataset name is correct
  • Check dataset is mounted to project
  • Confirm you have access permissions

Permission Denied

  • Check project role (need Contributor+)
  • Verify dataset sharing settings
  • Contact dataset owner

Slow Performance

  • Use efficient file formats (Parquet > CSV)
  • Read only needed columns
  • Use chunked/lazy loading for large files

Snapshot Failed

  • Check disk quota
  • Verify no files are open/locked
  • Check snapshot limit not reached

Documentation Reference

來源與署名

來源:dominodatalab/domino-claude-plugin位於skills/datasets提交d86698d

授權條款: 無授權條款

內容歸原作者所有。SourceWeft 從公開儲存庫中收錄這些內容。

檢舉或申請下架