在 R 中读取巨大的 json 文件,出现问题

2023-11-25

我正在尝试使用 R 读取非常大的 json 文件,并且我正在将 RJSON 库与此推荐一起使用json_data <- fromJSON(paste(readLines("myfile.json"), collapse=""))

问题是我收到此错误消息

Error in paste(readLines("myfile.json"), collapse = "") : 

无法在 C 函数“R_AllocStringBuffer”中分配内存 (2383 Mb)

谁能帮我解决这个问题


嗯,只是分享一下我的经验读取json文件。的进展 我试图读取 52.8MB、19.7MB、1.3GB、93.9MB、158.5MB json 文件花了我 30 分钟,最后自动恢复 R 会话,之后尝试应用并行计算并希望看到进度但失败了。

https://github.com/hadley/plyr/issues/265

然后我尝试添加参数页面大小 = 10000,其工作效率比以往任何时候都高。好吧,我们只需要读取一次,然后通过 saveRDS 保存为 RData/Rda/Rds 格式。

> suppressPackageStartupMessages(library('BBmisc'))
> suppressAll(library('jsonlite'))
> suppressAll(library('plyr'))
> suppressAll(library('dplyr'))
> suppressAll(library('stringr'))
> suppressAll(library('doParallel'))
> 
> registerDoParallel(cores=16)
> 
> ## https://www.kaggle.com/c/yelp-recsys-2013/forums/t/4465/reading-json-files-with-r-how-to
> ## https://class.coursera.org/dsscapstone-005/forum/thread?thread_id=12
> fnames <- c('business','checkin','review','tip','user')
> jfile <- paste0(getwd(),'/yelp_dataset_challenge_academic_dataset/yelp_academic_dataset_',fnames,'.json')
> dat <- llply(as.list(jfile), function(x) stream_in(file(x),pagesize = 10000),.parallel=TRUE)
> dat
list()
> jfile
[1] "/home/ryoeng/Coursera-Data-Science-Capstone/yelp_dataset_challenge_academic_dataset/yelp_academic_dataset_business.json"
[2] "/home/ryoeng/Coursera-Data-Science-Capstone/yelp_dataset_challenge_academic_dataset/yelp_academic_dataset_checkin.json" 
[3] "/home/ryoeng/Coursera-Data-Science-Capstone/yelp_dataset_challenge_academic_dataset/yelp_academic_dataset_review.json"  
[4] "/home/ryoeng/Coursera-Data-Science-Capstone/yelp_dataset_challenge_academic_dataset/yelp_academic_dataset_tip.json"     
[5] "/home/ryoeng/Coursera-Data-Science-Capstone/yelp_dataset_challenge_academic_dataset/yelp_academic_dataset_user.json"    
> dat <- llply(as.list(jfile), function(x) stream_in(file(x),pagesize = 10000),.progress='=')
opening file input connection.
 Imported 61184 records. Simplifying into dataframe...
closing file input connection.
opening file input connection.
 Imported 45166 records. Simplifying into dataframe...
closing file input connection.
opening file input connection.
 Found 470000 records...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 R 中读取巨大的 json 文件,出现问题 的相关文章

  • Oracle/PHP - ORA-00911 更新时的无效字符

    我正在运行一个 PHP 脚本 该脚本从 Oracle 数据库实例更新表 首先 我收到一个 JSON 对象 lot KLMHA17N9N00 requestor B10078 id FRESHLOT username B26696 passw
  • 解析错误:第 2 行第 0 列的数字文字无效

    我正在尝试读取一个大的 json 数据结构 我收到消息 解析错误 第 2 行第 0 列的数字文字无效 我正在使用的命令是下一个 n rules echo rulebase list jq total 该文件在第一层次结构中具有一个变量 该变
  • 使用 2 个向量参数翻转函数

    我想对需要 2 个向量参数的函数应用滚动 这是使用 data table 的示例 不起作用 library data table df lt as data table cbind data frame x 1 100 y 101 200
  • 代码点火器 JSON

    你好 我使用 codeigniter 然后我从控制器中的数据库中回显输出 然后在我的视图文件中执行以下操作 但它没有显示任何内容 S 我的模型文件 function forumList this gt db gt select oversk
  • 根据 R 中的字符串模式选择行

    假设我有以下数据 df lt data frame name c TO for Turnover for people HC people Hello world beenie man apple pears TO is number c
  • 使用神经网络包进行多项分类

    这个问题应该很简单 但文档没有帮助 我正在使用 R 我必须使用neuralnet多项式分类问题的包 所有示例均针对二项式或线性输出 我可以使用二项式输出进行一些一对一的实现 但我相信我应该能够通过使用 3 个单元作为输出层来做到这一点 其中
  • Shiny:从DT数据表中选定的行获取信息

    我们正在尝试重新创建示例 https demo shinyapps io 029 row selection https demo shinyapps io 029 row selection 使用DT包来渲染数据帧而不是shiny包 DT
  • Shiny :针对所有错误显示一条消息

    我在 R 的 Shiny 中有一个应用程序 我想处理消息 以便用户看不到发生了什么错误 我知道通过 tags style type text css shiny output error visibility hidden shiny ou
  • 在ggplot2中,箱线图线的末尾代表什么?

    我找不到箱线图线条端点代表什么的描述 For example here are point values above and below where the lines end 我意识到盒子的顶部和底部是第 25 个和第 75 个百分位数
  • 使用 R 下载压缩数据文件、提取并导入 .csv

    我正在尝试使用以下方法从网页下载并提取 csv 文件R 这个问题是重复的使用 R 下载压缩数据文件 提取和导入数据 https stackoverflow com questions 3053833 using r to download
  • POST 表单数据为 application/json

    我正在开发一个 API 它接收 application json post 请求 并触发一些流程 我目前的主要问题是发送一个 application json 帖子 其中包含来自输 入表单的数据 我已经尝试过 jQuery ajax 但由于
  • R 无法回忆起内存中的对象

    我正在构建一个包含多个步骤的函数 其中每个步骤都会创建一个对象 某个步骤失败 temp3 并且无法找到前面的步骤对象 错误 未找到对象 temp2 我不知道为什么 我有类似的函数 遵循完全相同的结构 每个步骤都遵循先前创建的对象 在函数内
  • 将 JSON 反序列化为自定义列表

    我有这个 json var x 99 abc 2dp GroupNum 0 Total 4 1 7 x date 60 x 1dp GroupNum 1 存在以下规则 让i参考内部列表索引 x i 0 必填项 始终为整数 x i 1 必填项
  • 基本 dyplr 函数给出错误:“check_dots_used”

    试图找出为什么我会收到此错误 以前从未见过 谷歌没有帮助 check dots used action warn 中的错误 未使用参数 action warn 我在下面的非常基本的试验中收到错误 而且在 group by count 中也收
  • 使用 R 将日期格式的字符串列表/向量转换为 posix 日期类

    我有一个日期格式的字符串列表 我想将其转换为可以使用 R 操作的 posix 日期列表 我该怎么做 这就是我所拥有的 但我最终得到了一个列表 a lt c 2009 01 01 00 00 00 2009 01 01 00 00 00 z
  • 如何将 yii2 Restful api 中两个表的关系数据显示为 json 格式

    我遇到了将两个表中的数据显示为 JSON 格式并在 yii2 Restful api 上工作的问题 这是我的结构数据库 TABLE volunteer volunteer id int 11 NOT NULL auto increment
  • 如何将 Shiny 中生成的反应图传递到 Rmarkdown 以生成动态报告

    简而言之 我希望能够通过单击按钮从我的闪亮应用程序生成动态 Rmarkdown 报告文件 pdf 或 html 为此 我想我将使用 Shiny 的参数化报告 但不知何故 我无法将单个谜题转移到所需的目标 使用此代码 我们可以在 R Shin
  • Matlab 中是否有相当于 R 的 dput() 的函数?

    Matlab 中是否有相当于 R 的 dput 的函数 dput 将 R 对象的 ASCII 文本表示形式写入文件或连接 UPDATE 1 添加了递归和对单元格的支持 UPDATE 2 添加了对结构的支持 UPDATE 3 增加了对逻辑 整
  • SparkR 和 Sparklyr 之间导入 parquet 文件所需的时间差异

    我正在使用 databricks 导入镶木地板文件SparkR and sparklyr data1 SparkR read df dbfs data202007 source parquet header TRUE inferSchema
  • 在 R 中读入原始二进制数据并将其转换为整数

    我有一个二进制文件 其中包含编码为不同长度 主要是 2 4 字节 的有符号或无符号整数的数值 为了处理这些数据 我将文件的所需部分读取为raw向量与readBin 然后尝试将其转换为十进制 问题是 R的内置函数有限制 我不太明白 比如没有l

随机推荐

  • 获取 Python Decimal 的精确十进制字符串表示形式?

    如果我有一个PythonDecimal 如何可靠地获得数字的精确十进制字符串 即不是科学记数法 表示而不带尾随零 例如 如果我有 gt gt gt d Decimal 1e 14 我想 gt gt gt get decimal string
  • 我应该学习原生 iOS 开发 (Objective-C) 还是完善 Javascript 和 Titanium Appcelerator 知识? [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 基本上我需要你的建议 我的好朋友们 D 在过去的六个月里 我正在探索 学习 开发 iOS 应用程序钛加速器移动框架 我的经历大多是好的或非常好的 一些消极的部分钛的使用会耗费构建时间 尤其
  • 在 Go 中执行 shell 命令

    我希望在 Go 中执行 shell 命令 并在程序中以字符串形式获取结果输出 我看到了罗塞塔代码版本 package main import fmt import exec func main cmd err exec Run bin ls
  • C# 不同的转换方式 -- (T)obj 与 obj as T [重复]

    这个问题在这里已经有答案了 可能的重复 强制转换与在 CLR 中使用 as 关键字 我在 C 中见过两种不同的转换方式 例如 MyObj foo MyObj bar this is what I see most of the times
  • 如何防止软键盘出现在我的活动中?

    我正在编写一个以全屏横向模式运行的 Android 游戏 并且按钮位于窗口的左下角和右下角 问题是这些按钮之一 在许多手机上 就在 菜单 按钮旁边 因此玩家可能会意外地按 菜单 如果短暂按下它 我只需暂停游戏并显示游戏内菜单 那里没问题 但
  • gitlab 中的奇怪错误:致命:协议错误:行长度字符错误:Depl

    在我的一台服务器上 当我尝试在 gitlab 上 pull ls remote 新建的存储库时 出现以下错误 git ls remote email protected mas vem dinnerdelivery git fatal pr
  • 为 JPanel 添加鼠标监听器

    今天我遇到一个问题 我的程序制作了一个 8x8 网格 并在单击时显示坐标JButton 但我拒绝使用JButton我需要去JPanel 但是我的addMouseListener不工作 所以我不知道如何才能修复我从 4 小时开始搜索的问题 p
  • 在 PHP 中创建不带括号的函数,例如“echo”

    我想知道是否有任何在 PHP 中编写函数的好方法 这样它们就不需要在参数周围使用 Example function sayThis str echo str sayThis hi 谢谢 马特 穆勒 根本没有 echo 更像是一个运算符而不是
  • Wordpress:为用户创建新的 usermeta 字段

    如何创建带有下拉选择值的新用户元字段 我想为所有用户创建一个条件语句 并具有我想要的新自定义字段的特定值 例如 新字段为 Approved 下拉值为 是和否 条件语句将识别 已批准 字段值为 是 的所有用户 然后它会发布一个代码 我正在使用
  • 让 VS2015 验证 C# 早期语法以保持与 VS2013 兼容的方法

    我遇到的一个具体问题是 VS2015 允许您使用更新的 C 语法 例如public string MyProperty gt myProperty 当针对 NET 4 0 框架项目 然后其他人在 VS2013 中打开该项目时 会出现编译器错
  • 如何转义 R 中的反斜杠? [复制]

    这个问题在这里已经有答案了 我正在 R 中工作 并且在逃避反斜杠时遇到麻烦 我正在使用图书馆stringr install packages stringr repos http cran us r project org library
  • NaN 上的宇宙飞船运算符

    在进行太空船比较操作时 C 如何处理浮点 NaN 我们知道通常的比较总是返回 false 那么 NaN 会如何改变呢 std numeric limits
  • iOS 6 应用程序 - 如何处理 iPhone 5 屏幕尺寸? [复制]

    这个问题在这里已经有答案了 可能的重复 如何开发或迁移适用于 iPhone 5 屏幕分辨率的应用程序 我只是想知道我们应该如何应对 iPhone 5 更大的屏幕尺寸 由于它的高度像素更多 像 GCRectMake 这样使用坐标的东西 并且只
  • 杀死java中的无限循环

    我正在使用第三方库来处理大量数据集 该过程偶尔会进入无限循环 或被阻塞 不知道为什么并且无法进入代码 我想在设定的时间后杀死它并继续下一个案例 一个简单的例子是 for Object data dataList Object result
  • 使用父模型获取填充嵌套集合

    我有以下带有嵌套集合的模型 var Mdl Backbone Model extend initialize function collection this col1 new NestedCollection 我想在一个请求中发送模型和集
  • 如何触发 JavaScript 事件点击

    我的页面中有一个超链接 我正在尝试自动点击超链接以进行测试 有什么方法可以使用 JavaScript 模拟超链接的 50 次点击吗 a href target blank MSDN a 我正在寻找来自 JavaScript 的 onClic
  • QuickCheckAll 始终返回“True”

    我正在尝试使用 QuickCheck 以下另一个答案 我这样测试 LANGUAGE TemplateHaskell import Test QuickCheck import Test QuickCheck All last a gt a
  • 继承模板方法

    我有一个类似于以下内容的课程 class SomeClass public template
  • bigmemory 和朋友的文件备份示例

    我有兴趣探索 R 如何处理内存不足的数据 我找到了bigmemory包裹和朋友 bigtabulate and biganalytics 但希望有人能给我指出一个使用这些包的文件支持的示例 任何其他内存不足的提示也将不胜感激 查理 只需发送
  • 在 R 中读取巨大的 json 文件,出现问题

    我正在尝试使用 R 读取非常大的 json 文件 并且我正在将 RJSON 库与此推荐一起使用json data lt fromJSON paste readLines myfile json collapse 问题是我收到此错误消息 Er