Is joinWithCassandraTable() lazy?



我正在使用带有 spark-cassandra-connector 的 Spark 1.2.1

//join with cassandra
val rdd = some_array.map(x => SomeClass(x._1,x._2)).joinWithCassandraTable(keyspace, some_table)
println(timer, "Join")
//get only the jsons and create rdd temp table
val jsons = rdd.map(_._2.getString("this"))
val jsonSchemaRDD = sqlContext.jsonRDD(jsons)
jsonSchemaRDD.registerTempTable("this_json")
println(timer, "Map")

输出为:

Timer "Join"- 558 ms
Timer "Map"- 290284 ms

我猜"joinWithCassandraTable()"函数很懒惰,如果是这样,什么是触发它?

实际上,这里触发评估的部分是sqlContext.jsonRDD。由于您不提供schema因此它必须实现jsons才能推断它。

joinWithCassandraTable有点相似,因为它必须连接到Cassandra并获取所需的元数据。参见 Apache Spark:驱动程序(而不仅仅是执行器)尝试连接到 Cassandra

相关内容

  • 没有找到相关文章

最新更新