用于DataFrame中自定义方法的Reduce By key

时间:2018-09-30 21:37:55

标签: scala apache-spark

我有一个用例,其中有一个配置csv(可以在数据帧中加载)。 配置: 键类型值列
key1 Type1 a C1
key1 Type1 b C1
key2 Type2 c C2
key3 Type3 d C3

另一个非常大的数据集,其列数超过22(超过了spark 2.0 scala的元组限制)。

我需要从配置数据框中提取有关我需要对该庞大数据集执行哪些操作的信息。 例如,如果连接了Type1,那么在这种情况下,我需要获取key1和type1(a,b)的所有值,并与庞大数据集中的关联列(此处为C1)连接,等等。Type2是过滤器,那么我需要过滤巨大数据集中的值c。我想设计一种最优化的方式来进行此操作。

输出将是一个数据集,其中的巨大数据集的行与configs中指定的条件匹配,而且还具有添加的列键,只是为了标识输出数据集中的哪一行来自哪个条件。

这里的问题是我可以并行处理吗?

喜欢 第一选择: 1.加载数据集 2.将配置加载到数据帧=>元组(键,行)=>按键减少=>写入    一个自定义函数,该函数提取给定键的Type,然后执行    对先前加载的数据集进行操作。 (使用一些案例案例,例如:type == join / filter等)

我该怎么做?这是一种最佳的方式吗? 是否可以并行执行此操作?

0 个答案:

没有答案