我是apache ignite以及spark的新手…有谁能帮我举个例子把scala中的ignite rdd转换成spark rdd吗?
更新—用例:我将收到hbase表的数据帧。我将执行一些逻辑来构建报告,并将其保存到ignite rdd…同样的点燃RDD将为每个表更新…一旦所有的表都被执行,最终的ignite RDD将被转换为spark或Java RDD,最后的规则将在该RDD上执行……要运行该规则,我需要将rdd转换为数据帧。该数据框将作为最终报告保存在hive.
转换是什么意思?IgniteRDD是一个Spark RDD,从技术上讲,它是RDD trait的子类型。
Spark内部有很多类型的rdd: MappedRDD, HadoopRDD, LogicalRDD。IgniteRDD只是一种可能的RDD类型,在一些转换之后,它也会被其他RDD类型包裹,例如MappedRDD。你也可以写你自己的RDD:)
文档中的例子:
val cache = igniteContext.fromCache("partitioned")
val result = cache.filter(_._2.contains("Ignite")).collect()
过滤缓存RDD后,类型会有所不同- IgniteRDD将被包装为FilteredRDD。然而,它仍然是RDD特性的实现。
注释后更新:
- 首先,您导入了隐式吗?
import spark.implicits._
在SparkSession中,你有各种createDataFrame方法,可以将RDD转换为DataFrame/Dataset
如果它仍然没有帮助你,请提供给我们错误,你得到在创建DataFrame和代码示例