Apache spark 在Spark中高效创建两个RDD
我正在调查使用Spark进行一个每小时生成数百GB数据的项目。我正在努力使第一步达到最佳状态,尽管感觉应该很简单 假设每天都有一个进程将数据分成两部分,这两部分都不足以缓存在内存中。有没有一种方法可以在单个spark作业中实现这一点,而不必从HDFS加载源数据并进行两次解析 假设我想将所有“Dog”事件写入一个新的HDFS位置,将所有“Cat”事件写入另一个位置。一旦我指定了第一个“写入文件”操作(针对狗),Spark将开始依次将每个文件加载到RAM中,并过滤掉所有狗。然后,它必须重新解析每个文件以找到cats,即使它可以同时完成这两项工作。它可以加载每个分区的原始数据,并一次性写出该分区的猫和狗 如果数据适合内存,我可以过滤到这两种类型的事件,然后缓存,然后进行两次写入。但事实并非如此,我也不知道如何让spark在每个分区的基础上实现这一点。我研究了API文档,认为我一定错过了什么 如有任何建议,将不胜感激,谢谢 可能的重复可能的重复Apache spark 在Spark中高效创建两个RDD,apache-spark,Apache Spark,我正在调查使用Spark进行一个每小时生成数百GB数据的项目。我正在努力使第一步达到最佳状态,尽管感觉应该很简单 假设每天都有一个进程将数据分成两部分,这两部分都不足以缓存在内存中。有没有一种方法可以在单个spark作业中实现这一点,而不必从HDFS加载源数据并进行两次解析 假设我想将所有“Dog”事件写入一个新的HDFS位置,将所有“Cat”事件写入另一个位置。一旦我指定了第一个“写入文件”操作(针对狗),Spark将开始依次将每个文件加载到RAM中,并过滤掉所有狗。然后,它必须重新解析每个文