【问题标题】:Integration of Spark2.0 and cassandra using R使用 R 集成 Spark2.0 和 cassandra
【发布时间】:2017-05-26 21:12:34
【问题描述】:

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

【问题讨论】:

  • 这里的问题是什么?你试过什么?什么不工作?
  • 我需要遵循基本步骤来使用 Cassandra 连接器设置 spark R 环境并使用 spark SQL 查询 Cassandra 表。

标签: apache-spark cassandra spark-cassandra-connector sparkr


【解决方案1】:

你只需要关注Spark R documentation,使用正确的Spark packages连接Cassandra,setup 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"

【讨论】:

    猜你喜欢
    • 2013-12-18
    • 2018-06-01
    • 2017-02-23
    • 2017-10-30
    • 1970-01-01
    • 2014-11-27
    • 1970-01-01
    • 2013-05-27
    • 2012-08-04
    相关资源
    最近更新 更多