使用R集成Spark2.0和cassandra

时间:2017-01-11 22:16:41

标签: cassandra sparkr apache-spark-2.0

目前我们正在将hive持久性存储迁移到Cassandra集群。我们一直在使用Spark 2.0和sparkR框架来运行我们的分析报告。我们刚刚开始使用Casandra集成,我们希望通过一些示例代码来启动Spark会话在R模块中。我们还需要有关在spark 2.0运行时优化此类集成的其他输入的帮助。

1 个答案:

答案 0 :(得分:0)

您只需要遵循Spark R documentation,使用正确的Spark packages连接到Cassandra和s etup necessary properties

以Spark支持启动R:

SPARK_HOME=`pwd` R

加载Spark R库:

library(SparkR, lib.loc = c(file.path(Sys.getenv("SPARK_HOME"), "R", "lib")))

初始化Spark会话:

sparkR.session(master = "local[*]",
  sparkConfig = list(spark.driver.memory = "2g", 
                     spark.cassandra.connection.host = "IP"),
  sparkPackages = "com.datastax.spark:spark-cassandra-connector_2.11:2.4.0")

spark.cassandra.connection.host需要指向Cassandra主机。 sparkPackages的值可能取决于您使用的Spark版本-它是否使用Scala 2.10或2.11等。有关更多详细信息,请参阅连接器文档。

读取数据:

df <-read.df(source = "org.apache.spark.sql.cassandra", keyspace = "test", table = "tm2")

与他们一起工作:

> head(df)
  id          d                  ts
1  1 2019-07-10 2019-07-18 11:56:16
2  2 2019-07-18 2019-07-18 11:03:10

您可以采用与其他来源相同的方式将数据保存到Cassandra表中-只需使用正确的来源:source = "org.apache.spark.sql.cassandra"