我有一个Elastic的输出,需要很长时间才能转换为R数据帧。我尝试了多种选择;并且觉得可能有一些技巧可以加快这个过程。
列表的结构如下。该列表在29天内汇总了数据(比如说)。如果让我们说弹性查询输出在列表中,那就是' v_day'那么[[5]] $ articles_over_time $ buckets [1:29]代表29天中的每一天
setDT(dt, key = "Name")
dt[, ":="(ActivityDate = as.Date(dt$ActivityDate, "%m/%d/%Y"),
ActivityType = as.character(ActivityType) )]
dt4 <- dt[.(Name=Name, type=ActivityType, date=ActivityDate), {z=between(ActivityDate, date-21, date);
.( type, date,
Email=sum( (ActivityType %chin% "Email") & z),
Webinar=sum( (ActivityType %chin% "Webinar") & z) ) }
, by=.EACHI]
有一个&#34;键&#34;这里的值就在我最感兴趣的地方(1446336000000)(我们称之为&#34;时间桶键#34;)。
在每一天内(让我们花一天时间),&#34; v_day [[5]] $ articles_over_time $ buckets [[i]] $ group_by_state $ buckets&#34;我感兴趣的数据更多。这是每个属性的聚合(属性是这里的事物方案中的实体)。
length(v_day[[5]]$articles_over_time$buckets)
[1] 29
page(v_day[[5]]$articles_over_time$buckets[[1]],method="print")
$key
[1] 1446336000000
$doc_count
[1] 35332
$group_by_state
$group_by_state$doc_count_error_upper_bound
[1] 0
$group_by_state$sum_other_doc_count
[1] 0
$group_by_state$buckets
$group_by_state$buckets[[1]]
$group_by_state$buckets[[1]]$key
[1] "detail"
$group_by_state$buckets[[1]]$doc_count
[1] 876
这显示了第i天中5个属性的数据,每个属性都有一个&#34;键&#34; (让我们称之为&#34;属性存储桶键&#34;)和&#34; doc_count&#34;我感兴趣的是。
最终我想要一个带有&#34;时间桶密钥&#34;,&#34;属性桶密钥&#34;,&#34; doc count&#34;的数据框。
目前我正在使用以下代码循环:
page(v_day[[5]]$articles_over_time$buckets[[i]]$group_by_state$buckets,method="print")
[[1]]
[[1]]$key
[1] "detail"
[[1]]$doc_count
[1] 876
[[2]]
[[2]]$key
[1] "ff8081814fdf2a9f014fdf80b05302e0"
[[2]]$doc_count
[1] 157
[[3]]
[[3]]$key
[1] "ff80818150a7d5930150a82abbc50477"
[[3]]$doc_count
[1] 63
[[4]]
[[4]]$key
[1] "ff8081814ff5f428014ffb5de99f1da5"
[[4]]$doc_count
[1] 57
[[5]]
[[5]]$key
[1] "ff8081815038099101503823fe5d00d9"
[[5]]$doc_count
[1] 56