Можете ли вы присоединиться к столу Кассандры? - PullRequest
0 голосов
/ 22 октября 2019

Я использую структурированный поток. Мне нужно присоединиться к огромной (миллиарды строк) таблице Cassandra, чтобы узнать, являются ли исходные данные в микропакете новыми или существовали с точки зрения id col. Если я сделаю что-то вроде:

val src = spark.read.cassandraFormat("src", "ks").load().select("id")
val query= some_dataset
      .join(src, expr("src.id=some_dataset.id"), joinType = "leftOuter")
      .withColumn("flag", expr("case when src.id is null then 0 else 1 end"))
      .writeStream
      .outputMode("update")
      .foreach(...)
      .start

Может ли Кассандра нажать левое соединение и посмотреть значение столбца соединения в исходной дельте? Есть ли способ узнать, произошло ли нажатие или нет?

Спасибо

1 Ответ

0 голосов
/ 22 октября 2019

Нет в версии с открытым исходным кодом Spark Cassandra Connector. Для него существует поддержка DSE Direct Join в DSE Analytics , поэтому, если вы используете DataStax Enterprise, вы ее получите. Если вы используете соединитель OSS , вы ограничены только RDD API .

...