usaspending-bulk-awards
收藏资源简介:
USAspending bulk awards (contracts & assistance) 是一个经过清理、分区且便于查询的 Parquet 格式数据集,它镜像了美国 USAspending.gov 奖项数据档案中的公开数据。该数据集专注于联邦政府的主要合同和财政援助(如补助金、贷款等)交易记录,时间覆盖自 2007 财年至今的所有机构。原始源数据由约 4,600 个按机构划分的 ZIP/CSV 文件组成(未压缩约 830 GB),本数据集对其进行了规范化处理:转换为类型化的 Parquet 格式并使用 zstd 压缩,体积缩小约 8 倍;将金额列处理为 `double` 类型,日期列处理为 `date` 类型;并按照财年 (`fiscal_year`) 和机构代码 (`agency`) 进行 Hive 分区,以支持高效的谓词下推查询。数据集包含两个核心部分,分别对应不同的模式:`contracts`(合同,297 列)和 `assistance`(援助,112 列)。此外,还提供了一系列参考表,包括数据字典(详细说明每个列的定义、取值范围和来源文件)、机构代码与名称对照表、灾难紧急基金代码表、术语表以及援助项目目录。该数据集适用于政府支出透明度分析、合同与援助资金流向追踪、机构预算研究、数据新闻以及基于大规模政府交易数据的商业智能应用。需要注意的是,它仅包含主要奖项(prime awards)数据,不包含子奖项(subawards)或来自 USAspending 自定义批量下载 API 的账户文件数据,也非完整的 USAspending 数据库转储。数据集会随源数据更新而刷新,但仅重新处理发生变化的(机构,财年)数据分区。
数据集概述
名称: USAspending bulk awards (contracts & assistance) 许可: 美国政府公共领域作品(other: us-government-works) 语言: 英语 类别: 政府、联邦支出、合同、拨款、USAspending 数据规模: 1亿至10亿行(100M<n<1B)
数据来源与覆盖范围
- 来源: USAspending.gov 的公开奖项数据档案(Award Data Archive),为美国政府公共领域数据。
- 覆盖时间: 2007财年至今(FY2007–present),仅包含主合同和财政援助交易。
- 不包含: 子奖项以及账户File A/B/C数据(这些通过USAspending的Custom Bulk Download API获取)。
数据格式与处理
- 原始数据:约4600个按机构划分的ZIP/CSV文件,压缩前约830 GB。
- 本数据集:已标准化为带类型的zstd压缩Parquet格式(体积缩小约8倍)。
- 金额列类型为
double - 日期列类型为
date - 按Hive分区,支持快速谓词下推查询。
- 金额列类型为
数据布局
按财年和机构进行Hive分区,包含两个数据子集:
- contracts/:主合同数据,297列,路径格式为
contracts/fiscal_year=YYYY/agency=CODE/part.parquet - assistance/:拨款/贷款等财政援助数据,112列,路径格式为
assistance/fiscal_year=YYYY/agency=CODE/part.parquet - reference/:可关联的维度表(Parquet格式)
参考表(维度表)
| 文件 | 行数 | 描述 |
|---|---|---|
reference/data_dictionary.parquet |
457行 | 数据字典,包含每列定义、域值和来源文件 |
reference/toptier_agencies.parquet |
111行 | 机构代码与名称的对照表 |
reference/def_codes.parquet |
51行 | 灾难紧急基金代码(COVID-19: L–U, IIJA: Z和1) |
reference/glossary.parquet |
151行 | 通俗术语定义 |
reference/assistance_listing.parquet |
56行 | CFDA/援助项目目录 |
使用示例(DuckDB)
python import duckdb con = duckdb.connect()
使用分区剪枝查询FY2024某机构的前10大收款人
con.sql( SELECT recipient_name, sum(federal_action_obligation) AS obligated FROM read_parquet(contracts/**/*.parquet, hive_partitioning=true) WHERE fiscal_year = 2024 AND agency = 097 GROUP BY 1 ORDER BY 2 DESC LIMIT 10 ).show()
数据更新
- 更新方式:当源档案重新发布时刷新;仅重新处理有变化(机构、财年)的分片(基于文件ETag追踪)。
- 内容:仅保留最新快照。




