当前位置: 首页 > 知识库问答 >
问题:

如何使用Python提取Spark RDD中列表中的特定值并对其进行操作?

贝钧
2023-03-14

我将Apache Spark与Python结合使用,我有一个元组RDD,其形式如下:

钥匙,(1号,2号,3号)

我需要以一个RDD结束,该RDD具有类似于以下形式的行:

Val3,Key,Val1,Val2

或:

Val3,(键,Val1,Val2)

我试过FlatMap,但它在我的元组线上似乎不起作用。如何从列表中访问单个值并对其进行操作?

共有1个答案

宰父夕
2023-03-14

在Spark中,rdd。map()返回rdd中相同的行数。由于输出的行数与输入rdd的行数相同,map更适合。但是,使用flatMap并没有错。

def transform(x):
        key, record = x
        yield [record[2], (key, record[0], record[1])]
rdd = sc.parallelize([('k11', ('v11', 'v12', 'v13')), ('k21', ('v21', 'v22', 'v23'))])    
rdd.flatMap(transform)
 类似资料:
  • 问题内容: 我有一个对象列表。对象具有3个字符串属性。我想制作一个仅包含类中特定属性的列表。 有内置的功能可以做到这一点吗? 问题答案: 列表理解会很好地工作: 但是,由于您要求:-),所以有内置功能的组合。

  • 问题内容: 我使用“ paramiko”将PC连接到开发板并执行脚本。然后,我将该脚本的结果保存在一个列表中(输出)。我想提取列表的一些值并将其插入到Elasticsearch中。我已经手动完成了列表的第一个结果。但是如何使其余的值自动化?我需要“正则表达式”吗?请给我一些线索。 谢谢 这是连接到开发板,执行脚本并检索列表=输出的代码的一部分 清单看起来像这样: 这是将数据索引到ELASTICSS

  • 问题内容: 我有一个字典列表,它们在列表中都具有相同的结构。例如: 我想从列表中的每个字典中获取每个项目: 我当然可以遍历列表并使用for循环提取每个值: 但是我的数据集很大。我想知道是否有更快的方法。 问题答案: 如果只需要迭代一次值,请使用生成器表达式: 另一个(深奥的)选项可能与-一起使用-它可能会比生成器表达式快一点,或者不快一点,具体取决于情况: 而且,如果您绝对需要一个列表,则列表理解

  • 我要提取的数据来自这个网站https://www.adobe.com/support/security/advisories/apsa11-04.html。我只想提取 发布日期:2011年12月6日最后更新:2012年1月10日漏洞标识符:APSA11-04 CVE编号:CVE-2011-2462 代码: 输出: 我不想要这些信息。我该如何过滤呢? 平台:全部*注意:Adobe Reader fo

  • 我有下面提到的表,我想通过查询添加列,这将增加一列到表的值对其他列特定值考虑以下表 在这个表中,在1前面想要文本作为活动,在零(0)前面,我想要它作为列名状态的非活动。

  • 对于熊猫数据帧的特定列,该列实际上是转换成BCD的16位数据。我只想提取特定行的14-8位并转换为BCD。下面的公式适用于如下的小数据帧。 但当我申请时 对于688126行的较大数据帧,我得到一个错误,说 基数为2的int()的文本无效:“” 错误如下所示 ValueError Traceback(最近调用最后一次)在1 df.LO_TIME_0_J2_0---- C:\ProgramData\A