我正在加载
中的一个5核数据集http://jmcauley.ucsd.edu/data/amazon/
使用
library(sparklyr)
library(dplyr)
config <- spark_config()
config$`sparklyr.shell.driver-memory` <- "2G"
sc = spark_connect(master = "local",config = config)
df=spark_read_json(sc = sc, name = "videos", path = "Path/to/reviews_Office_Products_5.json")
其中一个变量是一列文本评论,同样:
select(df,reviewText)
#Source:lazy query [?? x 1]
#Database:spark_connection reviewText
1我在1984年左右买了我的第一台HP12C,它忠实地服务于我,直到2002年
2&#34;为什么这个相关的评论?我觉得非常有必要分享我对这个旧作品的看法
3我有一台已推出二十多年的HP 48GX和一台HP 11
4我最近开始做更多的财务工作,并寻求一个好的时间价值 -
5对于简单计算和贴现现金流量,这个仍然是最好的。我用了
6虽然我没有MBA学位,但我很难相信我学会了如何使用的计算器
自从大约二十年前首次推出HP 12C以来,我已经拥有了HP 12C。我&#39;8为我的老板买了这个,因为他失去了他的。他喜欢这个计算器&amp;不会是
9这是一款精心设计的简单计算器,可处理典型的四功能数学运算。 LA
10我喜欢这个计算器,大数字并计算出优秀,易于使用并制作我的
#...包含更多行
我想将评论拆分为标记,每行包含一个单词,但事实证明这很难。当我尝试使用函数unnest_tokens时,我收到以下错误消息:
library(stringr)
library(tidytext)
Word_by_Word <- df %>% unnest_tokens(word, reviewText)
unnest_tokens_.default(。,word,reviewText)出错: unnest_tokens期望输入的所有列都是原子向量(不是列表)
发生了什么事?如何在不使用命令的情况下解决此问题&#34; pull&#34;并将数据强制转换为请求的格式?我无法按照建议提取数据 Extract a dplyr tbl column as a vector或者将数据转换为tibble格式,顺便说一句,因为如果数据库太大而且我做了其中任何一种,那么即使增加了2G限制并在计算机上运行程序,计算机也会耗尽内存有很多记忆(这是使用dplyr的重点)。
答案 0 :(得分:1)
看来你已经在内存中拥有了数据帧。如果是这样,那么错误代码就为您指明了方向。 reviewText
中的每个条目都是list
,unnest_tokens()
期望它们属于vector
类。
尝试使用unlist()
转换reviewText
字段,无论是就地还是mutate()
。