R 联合SQLite数据库和Spark分析大数据集

SQLite 数据库使用

1.下载SQLite数据库,并配置环境变量,或者再下载个SQLiteStudio进行编辑管理;
2.打开powershell或者cmd,运行命令行sqlite.exe,进入SQLite;
3.可以利用SQLite语句进行新建数据库和表格,进行数据操作和转换。

R里面安装DBI包,连接SQLite数据库,进行操作

library(DBI)
con <- dbConnect(RSQLite::SQLite(), ":memory:")#新建位于内存中的连接,生成的数据都会储存再内存中,或者:
con <- dbConnect(RSQLite::SQLite(),"./test.db")#新建本地数据库或读取本地数据库

R安装sparkly包,创建spark连接

library(sparklyr)
library(dplyr)#用于数据分析
sc <- spark_connect(master = "local")

大数据集分析步骤

1.利用R生成后者下载数据

dbWriteTable(con_b, "mtcars", mtcars, overwrite = TRUE)#将mtcars数据集写入名叫mtcars的表格中,并存入sqlite数据库db文件中,一般一个db文件最多可以存储1TB数据

2.利用SQLite命令语句将表格数据存为csv文件

sqlite.exe test.db --打开本地数据库文件或者已经存储了数据的数据库文件
.tables ---查看test.db数据库文件里有哪些表格
.header on --显示表头
.mode.csv --设置输出文件格式
.output test.csv --输出文件名
.select * from test --选择输出的内容
.quit --退出sqlite
注:--后面是注释内容

3.利用spark_read_csv()读取csv大文件,注意文件必须as.data.frame()后才能读取

总结:这样利用spark连接将几十G甚至几百G的文件分割成几个部分,再利用R连接后处理,其中sqlite作为中介转存数据,可以处理超过R自身内存的大数据集。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容