如何从Socrata API获取随机数据?

时间:2016-07-25 13:06:19

标签: socrata soda

如何从Socrata API获取随机数据样本?也就是说,我正试图获得https://health.data.ny.gov/resource/s8d9-z734.json,但是现在不想整体下载它,因为它非常大。

2 个答案:

答案 0 :(得分:2)

出于性能和缓存的原因(想象一堆客户端一遍又一遍地调用$order=rand()的影响......),我们没有任何类型的rand()或采样函数,但是你可以通过一些工作来创建自己的样本集:

  1. 执行$select=count(*)查询以确定该集合的大小
  2. 在本地使用rand()来提供一些补偿
  3. $limit$offset与稳定$order结合使用,以挑选出单个记录。例如:$order=facility_id&$limit=1&$offset=<some rand() number>
  4. 不幸的是,为了获得1000的样本大小,这将需要100次调用API。请务必注册app token ...

答案 1 :(得分:0)

寻找可以被视为随机种子的字段,例如按字母顺序排序total_charges(即https://health.data.ny.gov/resource/s8d9-z734.json的随机抽样?$ limit = 1000&amp; $ order = total_charges&amp; $ offset = 10000)但事实证明Socrata知道这是一个数字字段,尽管它在JSON中作为字符串返回并以数字方式对其进行排序。更聪明的想法,任何人?随机抽样是开放数据中的一个重要问题: - )