1
我想知道是否是一个很好的做法,以懒惰模式加载cassandra表然后使用where子句。带火花的懒惰卡桑德拉加载
例如:
Lazy val table = sparkContext.cassandraTable[Type](keyspace,tableName)
---代码的另一部分---
table.where("column = ?",param)
谢谢!
我想知道是否是一个很好的做法,以懒惰模式加载cassandra表然后使用where子句。带火花的懒惰卡桑德拉加载
例如:
Lazy val table = sparkContext.cassandraTable[Type](keyspace,tableName)
---代码的另一部分---
table.where("column = ?",param)
谢谢!
默认情况下,所有的RDD都是懒惰的。直到你打电话,他们才会真正做任何事情。所以不要添加懒惰,因为这只会延迟围绕RDD创建元数据,而实际上并不影响执行。
例
val table = sparkContext.cassandraTable[Type](keyspace,tableName)
val tableWithWhere = table.where("x = 5")
val tableTransformed = table.map(x:Type => turnXIntoY(x))
//nothing has happened in C* or Spark on executors yet
tableTransformed.collect // This causes spark to start doing work