使用 Adob​​e 分析 API V2.0 进行大量提取

问题描述

我的问题是:我想使用 API 2.0 和 python 函数执行大型查询,该函数一个维度(帖子)(大约 60.000 行或更多)提取数据,然后通过查询每个维度(标签)将其分解第一维的行(帖子)。

为什么会发生这种情况:我使用 Adob​​e Analytics API 2.0 来执行一些提取包括一个对 API 来说非常“大”的特定提取。现在我有一个帖子的维度 (dim1),我需要按维度标签 (dim2) 进行细分。我在这里面临两个问题,第一个是 Dimension Posts(dim1) 每天有超过 60.000 行。所以我需要使用每个标识符 (item_id) 查询这 60.000 行中的每一行并执行另一个查询

我仔细阅读文档后发现,对于版本 1.42.0

,每个查询中的最大行数为 50.000 行

是否有机会扩展行数来执行这些大型查询?我可以以某种方式跳过 50.000 行的限制吗?

另一方面,我发现在我正在使用的 API 2.0 版中,此类细分查询非常慢,因此在某些情况下,仅收集 1.000 个子查询就需要大约两个小时?维度行。任何人都可以告诉我 1.4 版在此类查询中是否具有更好的性能? API 1.4 版本在这种操作中是否更快?

我有点担心 Adob​​e 会在今年 4 月削减 1.4 API 的服务,我只发现了这个 thread 但不确定?

我正在定期检查项目的 git代码,但目前我还没有在这里看到解决方案。

    pageResults = agsIns.getReport(myJsonF,70000,item_id=True);
dataR=pageResults['data'];#only returns 50.000 registers,no matter what I do with the limit parameter

更新:我尝试使用下面解决方案中所写的 settings.page 参数来可视化信息,但没有任何运气。有人知道这个参数的例子以便测试。

pageResults = agsIns.getReport(myJsonF,item_id=True);

然后我改变了我的 json 文件来打印下一页方法是在每个查询后使用“settings.page”=0,1,2,3.... 在 JSON 中更新每一页,如下所示,但它没有工作。

"dimension": "variables/evar23","settings": {
    "countRepeatInstances": true,"limit": 50,"page": 0,"nonesBehavior": "return-nones"
}

我将参数“page”更改为值 1、2、3...但我总是得到相同的结果集,我做错了什么? (我举了一个关于如何更改页码的例子,我知道它在变量中做得很好,因为我在调试控制台中看到它)

 json_obj['settings']['page'] = 3;

(谢谢Crayon Violent,我纠正了错误,我发的很快,没有意识到维度上的错误

我检查了一些链接,但没有一个回答这个问题:

Fetch Data using adobe-analytics-api-2.0

Connect Adobe Analytics to MYSQL

Adobe Analytics API JSON query

Adobe Analytics API - Real Time Classification

解决方法

  1. 我没有做过任何正式的基准测试,但我自己从使用这两者的经验中得出的轶事证据,我个人认为 1.4 端点并不比 2.0 端点更快或更慢。 AFAIK 在后端它最终会进行相同的数据库查询等。唯一真正的变化是语法。但除非 Adob​​e 想插话说,否则我认为它不会比轶事更好。

  2. 即使 1.4 更快,我仍然建议使用 2.0。 Adobe 还没有正式宣布 1.4 的生命周期结束,但 1.3 刚刚过期,所以我认为下一个 1.4 可能迟早会出现。我的猜测可能是它还没有被标记的唯一原因是因为 1.4 中还有一些事情你不能在 2.0 中做,因为原因。但这一切都是我的猜测。除了事物随着时间的推移而过时和结束生命的一般原则之外,没有什么可靠的,所以除非你有一些真正令人信服的理由不使用最新的(例如,你需要做的在 2.0 中不可用),在我看来最佳实践是使用最新版本。

  3. 是的,使用 top (1.4) 或 settings.limit (2.0) 时,API一次最多只能返回 50k 行。但是您可以将它与 reportDescription.startWith (1.4)settings.page (2.0) 一起使用以获得下一组结果。在概念上类似于分页。