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自身内存的大数据集。

你可能感兴趣的:(R 联合SQLite数据库和Spark分析大数据集)