【问题标题】:How to read data from cassandra datastax cloud in Spark如何在 Spark 中从 cassandra datastax 云中读取数据
【发布时间】:2020-12-22 11:42:26
【问题描述】:

如何在 spark 2.0 中从 Cassandra Datastax 读取数据?

这是我尝试过的 -

val df = spark.read.format("org.apache.spark.sql.cassandra").options(Map("keyspace" -> "my_keyspace",
        "table" -> "my_table",
        "spark.cassandra.connection.config.cloud.path" -> "file:///home/training/secure-connect-My_path.zip",
        "spark.cassandra.auth.password" -> "password",
        "spark.cassandra.auth.username" -> "Username"
      ))
      .load()

我收到此错误:

Exception in thread "main" java.lang.ClassNotFoundException: Failed to find data source: org.apache.spark.sql.cassandra. Please find packages at http://spark.apache.org/third-party-projects.html

当我使用 datastax zip 时,为什么需要安装 Cassandra 或执行任何其他步骤?

使用相同的 zip 文件,我可以读取 java 程序中的数据。为什么我无法读入 Spark?

【问题讨论】:

    标签: apache-spark cassandra datastax spark-cassandra-connector datastax-astra


    【解决方案1】:

    你在正确的轨道上。如果您从 Spark shell 连接,您将传递如下详细信息:

    $ spark-shell --packages com.datastax.spark:spark-cassandra-connector_2.11:2.5.0 \
      --files /path/to/your/secure-connect-dbname.zip \
      --conf spark.cassandra.connection.config.cloud.path=secure-connect-dbname.zip \
      --conf spark.cassandra.auth.username=astra_username \
      --conf spark.cassandra.auth.password=astra_password
    

    那么您的代码将如下所示:

    import org.apache.spark.sql.cassandra._
    
    val df = spark.read.cassandraFormat("ks_name", "tbl_name").load()
    

    详情请见Spark Cassandra Connector documentation on connecting to Astra。还有来自 Alex Ott 的这篇博文,"Advanced Apache Cassandra Analytics Now Open For All"。干杯!

    【讨论】:

    • 主要问题是spark 2.0
    【解决方案2】:

    DataStax Astra 仅在 Spark Cassandra Connector 2.5.0+ 中得到原生支持,这需要 Spark 2.4(尽管它也适用于 2.3)。从理论上讲,您可以从安全包中提取证书和其他信息并使用它,但这是一项繁琐的任务。所以最好升级Spark版本。

    但最初的问题是未提供包 - 请参阅@flightc 的答案。

    【讨论】:

    • 说到男人本人!关于我错过的 Spark 版本的好点。 :)
    • @flightc 最初他应该按照您的指示进行操作,因为包裹丢失了
    猜你喜欢
    • 2018-03-01
    • 2017-07-14
    • 2016-10-14
    • 2017-06-03
    • 2015-04-29
    • 2016-08-14
    • 2015-01-21
    • 2018-03-26
    • 2018-01-24
    相关资源
    最近更新 更多