美文网首页
R 联合SQLite数据库和Spark分析大数据集

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

作者: 木䬕 | 来源:发表于2019-06-21 16:19 被阅读0次

    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分析大数据集

          本文链接:https://www.haomeiwen.com/subject/hzayqctx.html