栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用Elastic Package将数据从elasticsearch提取到R中,加载到数据帧中,由于匹配未扩展到相同长度而导致的错误

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用Elastic Package将数据从elasticsearch提取到R中,加载到数据帧中,由于匹配未扩展到相同长度而导致的错误

作者在这里

elastic

我们不试图将输出强制转换为data.frame的输出,因为它的变量是如此之大,以至于我们经常会遇到错误。但是我们确实允许您传递一个选项以

jsonlite
强制执行
data.frame
(通过
asdf
参数,
作为data.frame ),因为这永远不会失败。

如果处理列表输出,我将使用之一,

dplyr
或者
data.table
如果要返回列表。

为了重现性:

library(elastic)if (!index_exists("shakespeare")) {  shakespeare <- system.file("examples", "shakespeare_data.json", package = "elastic")  docs_bulk(shakespeare)}res <- Search(index="shakespeare", fields=c('play_name','speaker'))out <- lapply(res$hits$hits, function(x) unlist(x$fields, FALSE))

dplyr

library(dplyr)bind_rows(out)#> # A tibble: 10 × 2#>    play_name       speaker#>        <chr>         <chr>#> 1   Henry IV   #> 2   Henry IV KING HENRY IV#> 3   Henry IV KING HENRY IV#> 4   Henry IV KING HENRY IV#> 5   Henry IV KING HENRY IV#> 6   Henry IV KING HENRY IV#> 7   Henry IV KING HENRY IV#> 8   Henry IV KING HENRY IV#> 9   Henry IV  WESTMORELAND#> 10  Henry IV  WESTMORELAND

data.table

library(data.table)rbindlist(out, fill = TRUE, use.names = TRUE)#>    play_name       speaker#> 1:  Henry IV   #> 2:  Henry IV KING HENRY IV#> 3:  Henry IV KING HENRY IV#> 4:  Henry IV KING HENRY IV#> 5:  Henry IV KING HENRY IV#> 6:  Henry IV KING HENRY IV#> 7:  Henry IV KING HENRY IV#> 8:  Henry IV KING HENRY IV#> 9:  Henry IV  WESTMORELAND#> 10:  Henry IV  WESTMORELAND

或者,使用

asdf
参数,
jsonlite::fromJSON
如果可能的话,该参数在内部定向为解析到data.frame。

res <- Search(index="shakespeare", fields=c('play_name','speaker'), asdf = TRUE)res$hits$hits$fields#>    play_name       speaker#> 1   Henry IV   #> 2   Henry IV KING HENRY IV#> 3   Henry IV KING HENRY IV#> 4   Henry IV KING HENRY IV#> 5   Henry IV KING HENRY IV#> 6   Henry IV KING HENRY IV#> 7   Henry IV KING HENRY IV#> 8   Henry IV KING HENRY IV#> 9   Henry IV  WESTMORELAND#> 10  Henry IV  WESTMORELAND

使用:

  • [R
    v3.3.2
  • OSX
  • elastic
    v0.7.8.9000
  • Elasticsearch
    v2.3.4


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/369628.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号