如何从 Socrata API 获取随机数据?
How do I get random data from Socrata API?
如何从 Socrata API 获取随机数据样本?也就是说,我正在尝试获取 https://health.data.ny.gov/resource/s8d9-z734.json,但暂时不想下载整个文件,因为它非常大。
寻找可以像随机种子一样处理的字段,例如按字母顺序排序 total_charges(即 https://health.data.ny.gov/resource/s8d9-z734.json 的随机抽样?$limit=1000&$order=total_charges& $offset=10000) 但事实证明,尽管在 JSON 中将其作为字符串返回,但 Socrata 知道这是一个数字字段并对其进行了数字排序。更聪明的想法,有人吗?随机抽样是开放数据中的一个重要问题:-)
出于性能和缓存原因(想象一下一群客户端一遍又一遍地调用 $order=rand()
的影响......),我们没有任何类型的 rand()
或采样函数,但您可以通过一些工作创建自己的示例集:
- 执行
$select=count(*)
查询以确定集合有多大
- 在本地使用
rand()
得出一些偏移量
- 使用
$limit
和 $offset
结合稳定的 $order
来挑选个人记录。例如:$order=facility_id&$limit=1&$offset=<some rand() number>
不幸的是,要获得 1000 的样本大小,需要对 API 进行 1001 次调用。请务必注册 app token...
如何从 Socrata API 获取随机数据样本?也就是说,我正在尝试获取 https://health.data.ny.gov/resource/s8d9-z734.json,但暂时不想下载整个文件,因为它非常大。
寻找可以像随机种子一样处理的字段,例如按字母顺序排序 total_charges(即 https://health.data.ny.gov/resource/s8d9-z734.json 的随机抽样?$limit=1000&$order=total_charges& $offset=10000) 但事实证明,尽管在 JSON 中将其作为字符串返回,但 Socrata 知道这是一个数字字段并对其进行了数字排序。更聪明的想法,有人吗?随机抽样是开放数据中的一个重要问题:-)
出于性能和缓存原因(想象一下一群客户端一遍又一遍地调用 $order=rand()
的影响......),我们没有任何类型的 rand()
或采样函数,但您可以通过一些工作创建自己的示例集:
- 执行
$select=count(*)
查询以确定集合有多大 - 在本地使用
rand()
得出一些偏移量 - 使用
$limit
和$offset
结合稳定的$order
来挑选个人记录。例如:$order=facility_id&$limit=1&$offset=<some rand() number>
不幸的是,要获得 1000 的样本大小,需要对 API 进行 1001 次调用。请务必注册 app token...