【问题标题】:Error: "Data source org.apache.spark.sql.cassandra does not support streamed reading"错误:“数据源 org.apache.spark.sql.cassandra 不支持流式读取”
【发布时间】:2021-01-25 20:24:36
【问题描述】:

数据源org.apache.spark.sql.cassandra不支持流式读取

   val spark = SparkSession
  .builder()
  .appName("SparkCassandraApp")
  .config("spark.cassandra.connection.host", "localhost")
  .config("spark.cassandra.connection.port", "9042")
  .config("spark.cassandra.auth.username", "xxxxx")
  .config("spark.cassandra.auth.password", "yyyyy")
  .master("local[*]")
  .getOrCreate();

val tableDf3 = spark.**readStream**
  .format("org.apache.spark.sql.cassandra")
  .options(Map( "table" -> "aaaaa", "keyspace" -> "bbbbb"))
  .load()
  .filter("deviceid='XYZ'")

tableDf3.show(10)

【问题讨论】:

    标签: scala apache-spark cassandra spark-structured-streaming spark-cassandra-connector


    【解决方案1】:

    没错 - Spark Cassandra 连接器只能用作流式接收器,不能用作流式源。

    如果您想从 Cassandra 获取更改,那么这是一项相当复杂的任务,这取决于 Cassandra 的版本(是否实现 CDC)以及其他因素。

    对于 Spark,您可以通过定期重新读取数据来实现某种流式传输,使用时间戳列过滤掉您已经读取的数据。您可以在following answer 中找到有关该方法的更多信息。

    【讨论】:

      猜你喜欢
      • 2020-03-13
      • 2016-05-08
      • 1970-01-01
      • 2019-08-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多