有人知道我如何使用R中的大数据吗?

问题描述 投票:1回答:1

在RStudio中分析推文:

我的csv文件包含4,000,000条带有五列的tweet:screen_name,text,created_at,favourite_count和retweet_count。

我正在尝试使用以下代码来确定#标签的出现频率,但是它运行太慢了几天,有时RStudio会崩溃。

mydata %>%
  unnest_tokens(word, text, token ="tweets") %>%
  anti_join(stop_words, by= "word")

我已经使用其他方法来处理R中的大数据,例如:https://rviews.rstudio.com/2019/07/17/3-big-data-strategies-for-r/https://spark.rstudio.com/guides/textmining/和Spark库:https://spark.rstudio.com/guides/textmining/。他们都不适合我。

在Spark中,我执行以下操作,但是RStudio无法将我的数据集复制到Spark。我甚至在我的RStudio中看到“ Spark正在运行”甚至没有将数据集复制到Spark的一天。

连接到您的Spark集群:

spark_conn <- spark_connect("local")

将track_metadata复制到Spark:

track_metadata_tbl <- copy_to(spark_conn, my_database)

您有什么建议/说明/链接可以帮助我分析数据吗?

我的笔记本电脑是Mac处理器:2.9 GHz双核Intel Core i5内存:8 GB 2133 MHz LPDDR3

r apache-spark-sql bigdata tidytext
1个回答
0
投票

8GB确实不是很大的内存:请确实查看Activity Monitor以了解什么是内存利用率。

使用sparklyr可能是一个很好的主意。我怀疑内存问题导致加载失败。您将需要做一些工作以正确优化spark本地实例。这是一些使sparkR进行的资源:

https://github.com/sparklyr/sparklyr/issues/525

正确配置执行程序的内存量,我可以毫无问题地运行copy_to。

另一个:

现在它对我有用。我没有正确配置驱动程序的内存。我增加了它,现在一切正常。

这里是有关copy_to()替代品的注释

https://community.rstudio.com/t/sparklyr-s-error/12370

copy_to()当前尚未优化,因此不建议用于复制中型或大型数据集。相反,我们建议您将数据复制到集群中,然后使用spark_read _ *()函数系列将数据加载到Spark中。例如,通过将所有数据复制为CSV,然后使用spark_read_csv()。

也就是说,我们也在研究使用Apache Arrow改进copy_to()和collect()的方法,您可以通过以下pull请求跟踪此工作的进度:github.com/rstudio/sparklyr/pull/1611。

© www.soinside.com 2019 - 2024. All rights reserved.