【问题标题】:How do I get random data from Socrata API?如何从 Socrata API 获取随机数据?
【发布时间】:2016-07-26 02:19:48
【问题描述】:

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

【问题讨论】:

    标签: socrata soda


    【解决方案1】:

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

    1. 执行$select=count(*) 查询以确定集合的大小
    2. 在本地使用rand() 提出一些偏移量
    3. $limit$offset 与稳定的$order 结合使用以挑选出单独的记录。例如:$order=facility_id&$limit=1&$offset=<some rand() number>

    不幸的是,样本大小为 1000,这将需要对 API 进行 1001 次调用。请务必注册app token...

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2022-01-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多