【问题标题】:How to reaplace collect function in pyspark to lambda and map如何将pyspark中的collect函数替换为lambda和map
【发布时间】:2022-01-11 16:48:01
【问题描述】:

我有一个生成内部维基百科链接图的函数。 在代码中,我在 pyspark 中使用了 collect 函数,但是当我在 GCP 中使用相同的代码时它不起作用。 有人告诉我将代码中使用的 collect 函数更改为 lambda 和 map 表达式。

【问题讨论】:

  • 你的意思是map作为内置函数还是pyspark map?
  • 没关系,任何一个

标签: python dataframe pyspark pagerank


【解决方案1】:
pyspark 中的

.map 的工作方式类似于常规地图,即

list_of_vertices = pages.map(lambda it:it.anchor_text.id)

list_of_edges = pages.map(lambda it: Row(src=it.id, dst=it.anchor_text.id))

【讨论】:

  • 它引发错误“'PipelinedRDD' 对象不可迭代”(页面)
  • 这可能源于尝试迭代它。将示例更新为不使用 for 循环。
  • 这很好用,但是如果我需要映射行,我该如何处理边缘
  • 还添加了边缘示例,不完全确定它是否适用于行对象
  • 我需要返回边和顶点,地图没有创建列表,所以我不能并行化它,我的意思是当我尝试返回边和顶点时它不能正常工作跨度>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-25
  • 2020-08-23
  • 2018-06-15
  • 2011-11-28
  • 1970-01-01
相关资源
最近更新 更多