scala – Spark:缓存RDD / DF以在多个程序中使用
发布时间:2020-12-16 08:45:33 所属栏目:安全 来源:网络整理
导读:我有一个从多个程序中读取的数据集.而不是每天多次将这个数据集读入内存,有没有办法让火花有效地缓存数据集,允许任何程序调用它? 解决方法 RDD和数据集不能在应用程序之间共享(至少,没有官方API来共享内存) 但是,您可能对Data Grid感兴趣.查看Apache Ignite
我有一个从多个程序中读取的数据集.而不是每天多次将这个数据集读入内存,有没有办法让火花有效地缓存数据集,允许任何程序调用它?
解决方法
RDD和数据集不能在应用程序之间共享(至少,没有官方API来共享内存)
但是,您可能对Data Grid感兴趣.查看Apache Ignite.您可以将数据加载到Spark,预处理并保存到网格.然后,在其他应用程序中,您只需从Ignite缓存中读取数据即可. 有一种特殊类型的RDD,名为IgniteRDD,它允许您像使用其他数据源一样使用Ignite缓存.当然,像任何其他RDD一样,它可以转换为数据集 它会是这样的: val rdd = igniteContext.fromCache("igniteCache") val dataFrame = rdd.toDF 有关IgniteContext和IgniteRDD的更多信息,请参见here (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |