1

我正在使用 Splunk 分析 SFGov 开放数据 (data.sfgov.org),这是一个 Socrata 系统。

我能够下载 json 数据并离线分析内容。我现在正在实现数据集更新的自动索引(每天)。

我试图找出自上次民意调查以来实际使用哪些 Socrata API 字段来获取新记录。

我知道我可以使用 $where URL 选项再次过滤 :created_at 和 :updated_at 参数,但是是否有 rowID 或最后一个索引或类似的东西?我将在最后获取的行的 splunk 端维护本地状态,例如

就像我昨晚得到的最后一行是 18104 一样,那么对于 tonite 的检查,我会要求发布 > 18104 的行。

提前致谢!我正在使用 python 进行自动化。

------ 2016 年 11 月 2 日添加 ---

目前我正在手动测试尝试这种类型的 GET(使用 hurl.it 进行测试)

https://data.sfgov.org/resource/nwsr-z4mh.json ?$where=:created_at between '2016-10-23T18:00:00' 和 '2016-11-03T00:00:00'&$order =:created_at DESC&$select=:*, *

  • 这使用了 Socrata 数据集中的 :created_at 系统字段。
  • 它正在返回在这些时间戳之间创建的记录。这似乎奏效了。

因此,如果我要将其放入 python 中,我需要简单地保存以前的获取日期时间并在和之间执行一个“和”,并希望获得最新创建的记录。

我更喜欢引用 ROW# 的方式,但我还不知道如何使用 id":"row-8aiu.d5x4~8rdi" 参数。

4

1 回答 1

2

看起来你已经在做正确的事情了。您只想保存最新的:created_at:updated_at在您$where的以下查询中使用它。

您不能这样做,$where=:updated_at > :row-...因为行 ID 是标识符,而不是日期时间。

于 2016-11-03T01:20:32.803 回答