【问题标题】:Large extraction with Adobe analytics API V2.0使用 Adob​​e 分析 API V2.0 进行大数据提取
【发布时间】:2021-02-24 22:50:18
【问题描述】:

我的问题是:我想使用 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 版本在这种操作上速度更快吗?

有点怕Adobe今年4月份要砍掉1.4 API的服务,我只找到了这个thread但是不确定?

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

    pageResults = agsIns.getReport(myJsonF, 70000, 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, 70000, 70000, item_id=True);

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

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

我用值 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

【问题讨论】:

  • 请(重新?)阅读What topics can I ask about here?Welcome to Stack Overflow 介绍之旅。 “告诉我如何解决这个编码问题”是off-topic for Stack Overflow。您应该发送honest attempt at the solution,然后询问有关您的实施的具体问题。
  • 好吧,我知道 limit+page 有效,因为我自己做过。您也可以在 adobedocs.github.io/analytics-2.0-apis 使用 Swagger UI 自己测试它。听起来您的有效负载或脚本通常有其他问题。好吧,例如 IDK,如果您在这里或脚本中也有错字,但我认为“变量/数据范围”是一个错字,应该是“变量/日期范围”。或者你的循环实际上并没有循环,或者你用于页面参数的变量在你的循环中并没有真正递增,等等。

标签: python api adobe-analytics


【解决方案1】:
  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. 是的,API一次最多只能返回 50k 行,top (1.4) 或 settings.limit (2.0)。但是您可以将它与reportDescription.startWith (1.4)settings.page (2.0) 一起使用来获得下一组结果。在概念上类似于分页。

【讨论】:

    猜你喜欢
    • 2023-03-23
    • 1970-01-01
    • 2017-01-09
    • 2010-11-07
    • 1970-01-01
    • 2021-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多