8.5 大数据相关R包
sparklyr https://spark.rstudio.com/
RClickhouse https://github.com/hannesmuehleisen/clickhouse-r
其它R包,如bigrquery
。
8.5.1 sparklyr
sparkly包可以连接[spark]17(http://spark.apache.org/),并且支持dplyr包方法。详情情况sparklyr介绍
spark 依赖java环境,需要系统上安装java方可使用。
1.R 包安装
# cran 版
install.packages("sparklyr")
# 开发版
::install_github("rstudio/sparklyr") devtools
2.连接到 spark
连接之前需要安装 java 环境以及通过sparklyr::spark_install()
安装 spark。
java下载,下载安装后配置java环境变量。
# Win10
JAVA_HOME = C:\Program Files\Java\jre1.8.0_291
检查环境变量,在R中执行
Sys.getenv('JAVA_HOME')
>> "C:\\Program Files\\Java\\jre1.8.0_291"
library(sparklyr)
<- spark_connect(master = "local") sc
3.使用 dplyr
library(dplyr)
<- copy_to(sc, iris)
iris_tbl <- copy_to(sc, nycflights13::flights, "flights")
flights_tbl <- copy_to(sc, Lahman::Batting, "batting")
batting_tbl ::src_tbls(sc) dplyr
filter实列:
%>% filter(dep_delay == 2) flights_tbl
sparkrly同样兼容DBI,支持SQL语句查询,更多详情请官网查阅。
8.5.2 RClickhouse
ClickHouse 是面向列的数据库管理系统(DBMS),用于对查询进行连接分析处理(OLAP)。
按照官网安装教程安装。
1.R 包安装
install.packages("RClickhouse")
2.配置远程连接
3.安装驱动
安装ODBC驱动是为了和Power BI,tableau,Excel等工具连接。
4.连接
library(RClickhouse)
library(DBI)
# 本地默认连接
<- dbConnect(RClickhouse::clickhouse(), host="localhost", port=9000L, user="default", password="")
con_local dbExecute(con_local,"CREATE DATABASE IF NOT EXISTS tutorial")
# 指定库远程连接
<- dbConnect(RClickhouse::clickhouse(), host="192.168.2.237", port=9000L, user="default", password="",dbname='tutorial') con_remote
win系统上配置odbc时,注意ODBC版本,clickhouse-odbc下载。最初我使用的odbc版本太旧,Excel无法成功连接clickhouse数据库。
我用tableau实时连接clickhouse数据库,测试速度完爆 MS SQL Server,测试的数据量大概在2000万行,6G左右。 我用Excel通过odbc驱动连接,数据据提取速度特别慢(相比MS SQL Server)。不知道是不是因为 Exce l 和MS SQL Server 都是微软自家产品。另外表中的时间字段和 MS SQL Server 不一样,不能直接上传。
整体测试下来,建议持续保持观望,有机会就测试先试用着。毕竟在OLAP方面确实有一定优势,并且数据库支持中文,但是表头目前还未支持中文。
Apache Spark 是用于大规模数据处理的统一分析引擎。↩︎