在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
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。