使用Spark Cassandra连接器时从Cassandra表读取的记录数



在写入Cassandra表时,我得到了以下关于写入的行数和花费的时间的信息。从日志中,我可以看到它来自TableWriter类。在阅读Cassandra时,我如何在不调用RDD操作的情况下找到相同的信息?我不知道用哪种方法读书。

2020-04-20 11:58:42 INFO  com.datastax.spark.connector.writer.TableWriter.logInfo:35 - Wrote 24 rows to my_keyspace.mytable in 0.153 s.


将spark数据帧写入Cassandra表的代码

myDF.write
.format("org.apache.spark.sql.cassandra")
.mode(saveMode)
.options(Map("keyspace" -> "my_keyspace", "table" -> "my_table"))
.save()

将Cassandra表读取到spark RDD的代码

val cassandraRDD = sparkSession.read
.format("org.apache.spark.sql.cassandra")
.options(Map( "table" -> "my_table", "keyspace" -> "my_keyspace", "pushdown" -> "true"))
.load()

我也能够在读取过程中获得度量。不同之处在于这些指标的日志记录级别。在撰写本文时,日志级别是INFO,这就是为什么我能够在日志中找到这些信息。但在编写过程中,这些度量是用DEBUG级别记录的。我将spark日志记录级别更改为DEBUG,并能够看到这些指标。

参考-https://community.datastax.com/questions/3512/getting-the-number-of-records-read-from-cassandra.html

最新更新