2026-07-17 · 18 tables · 236,577,241 rows · 1.90 GB consolidated
| table | rows | size |
|---|---|---|
| _spatial_attr.parquet | 40,298 | 121 KB |
| _spatial.parquet | 3,373 | 25.0 MB |
| cruise.parquet | 691 | 14 KB |
| dataset_taxon.parquet | 1,781 | 36 KB |
| dataset.parquet | 13 | 6 KB |
| grid.parquet | 218 | 98 KB |
| lookup.parquet | 26 | 2 KB |
| measurement_type.parquet | 120 | 7 KB |
| obs/ 12 parts | 17,705,061 | 229.0 MB |
| obs_attribute.parquet | 452,682 | 1.8 MB |
| obs_ctd_full/ supplemental 97 parts | 216,427,608 | 1.41 GB |
| obs.parquet | 17,705,061 | 225.3 MB |
| region.parquet | 4 | 1 KB |
| sample_measurement.parquet | 555,623 | 1.7 MB |
| sample.parquet | 1,385,959 | 11.8 MB |
| ship.parquet | 49 | 2 KB |
| taxon_group.parquet | 155 | 2 KB |
| taxon.parquet | 3,580 | 69 KB |
Machine-readable descriptions of this release.
| file | size |
|---|---|
| RELEASE_NOTES.md | 2 KB |
| catalog.json | 2 KB |
| erd.mmd | 7 KB |
| index.html | 12 KB |
| metadata.json | 77 KB |
| test_results.json | 4 KB |
obs appears twice. Each is published both as a Hive-partitioned directory and as a single .parquet file, on purpose — they are the same rows./**/*.parquet glob against cloud storage, so they need one addressable object. Removing either breaks a real consumer.SELECT * FROM read_parquet('https://storage.googleapis.com/calcofi-db/ducklake/releases/v2026.07.17/parquet/sample.parquet') LIMIT 10;
/**/*.parquet glob and
hive_partitioning, which turns the directory names into a real column):SELECT * FROM read_parquet('https://storage.googleapis.com/calcofi-db/ducklake/releases/v2026.07.17/parquet/obs_ctd_full/**/*.parquet',
hive_partitioning = true) LIMIT 10;