问题标签 [graphframes]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - GraphFrames 连接组件 - 组件零
当我在 GraphFrames 上运行连接组件算法时,有一个巨大的组件,组件 ID 为零 - 0。
那个组件是什么?
python - 为什么 --packages 命令让 python 包不可用或无法从 Spark 客户端/驱动程序加载?
我想添加graphframes library.Normaly这个库是由(例如)添加的:
然后你应该得到类似的东西:
我可以导入图框:>>>import graphframes
当我执行 spark-submit test.py 时出现问题,其中 test.py 是:
我得到以下异常:
我认为问题与 --packages 有关,它不能使 python 包可用或可从 Spark 客户端/驱动程序加载。
而且我认为应该将图框添加到 python path 。
1-如何解决这个问题?
- 如何在 Windows 和 Linux 中应用 1) 中提出的解决方案?
我尝试了以下方法:
- 下载graphframes jar
- 提取 JAR 内容
- 导航到“graphframe”目录并压缩其中的内容。
- 将生成的 zip 复制到我的主目录:/home/tam/
在 .bashrc 我设置:
spark-submit test.py,我收到以下错误:
scala - 如何将一个数据集的列(也包括多列)中的值映射到另一个数据集
我正在处理图框部分,我需要在 d3.js 中有边/链接,以便在顶点/节点的索引值中作为源和目标。
现在我VertexDF
有
EdgesDF
现在我需要将其转换EdgesDF
如下
所有列值都应该具有取自VertexDF
.I 的名称索引。我期待在Higher-order functions
. 我的方法是转换VertexDF
为地图,然后迭代EdgesDF
并替换每一次出现。
我试过的
将名称映射到 ids
用那张地图EdgesDF
scala - 如何修复错误:使用 Scala API 创建图框时的类型不匹配
我使用 Spark2.3.2 和 GraphFrames 0.7.0。
我有两个数据框:node2attrDf
并且edge2attrDf
,生成它们的代码如下:https ://gist.github.com/superPershing/56928c4f5420ea6334d7a9f6e389bda5
他们的架构是这样的:
当我使用两个数据框创建新的图框时:
发生错误:
似乎找到的类型和所需的类型是相同的。那么为什么会发生这个错误以及如何解决呢?
apache-spark - 寻找不直接连接的2个顶点之间的路径
我有一个像这样的连接图
其中 user 是属性名称,并遵循该特定用户的路径。例如对于
现在,我想找到从 A 到达 E 的所有用户。输出应该是 user2、user3、user4(因为所有这些用户最终从 A 到达 E,不管他们走了多少跳)。我该如何写这个主题。这是我尝试过的。
但是我遇到了这样的例外
我不确定我的情况是否正确或如何
spark.sql.crossJoin.enabled=true
在 spark-shell 上设置此属性
我按如下方式调用了我的 spark-shell
python - Expand array Column of PySpark DataFrame
I am having of transferring a DataFrame into a GraphFrame using the data below. Let's consider a column of Authors in a dataframe containing an array of Strings like the one below:
In the data table, we have a list of authors who collaborated together on the same paper. Now I want to expand the second column into a new dataframe containing the following structure:
I tried to use the explode function, but that only expands the array into a single column of authors and I lose the collaboration network.
Can some please tell me how to go around this?
apache-spark - 对 Spark/Graphx/Pregel 示例程序的停止条件感到困惑,以查找“路径距离”
'
我正在通过 Graphx In Action 工作,这本书(源代码在这里:https ://github.com/insidectm/spark-graphx-in-action )讨论了两种计算距离的方法(边缘跳数) 在树的根和所有节点到叶子之间。我了解使用 aggregateMessages 提供的代码示例。特别是,停止条件是有意义的(我通过包含文本“停止条件”的注释突出显示了该条件,如下。)一旦图形顶点上的属性停止变化,继续运行算法。
当我查看 Pregel 计算相同结果的方式时,我有点困惑(如下所示。)
特别是在调用 Pregel 的 apply 方法时,maxIterations 是默认值,即 Integer.MAX_VALUE(出于所有实际目的,“永远运行”。)因此,“sendMsg”函数似乎是:
将被无限调用,即使在顶点上的值已经收敛之后。
是否有一些我忽略的机制导致程序在收敛后停止?
pyspark - ImportError:无法从“graphframes.lib”导入名称“Pregel”
我正在使用来自 jupyter 的 pyspark 和 graphframes。我能够成功导入 pyspark 和 graphframes,但是当我尝试时:
我收到以下错误:
这篇文章是我如何让 graphframes 工作,但没有 graphframes.lib:
https://github.com/graphframes/graphframes/issues/104
我尝试重复上述命令,没有环境行,因为 pyspark 在 jupyter 中对我来说工作得很好,使用不同的版本并且能够获取 graphframes.lib,但没有 Pregel:
现在我可以看到graphrames.lib 目录,但里面只有aggregate_messages.py。
最后,我尝试了以下但收到 404 错误:
我希望,因为我能够导入图形框架,所以我能够从 graphframes.lib 导入 Pregel。似乎在我的版本中,现在是 0.6.0,有一个 graphrames.lib 但没有 Pregel,并且还没有用于 graphframes 的 0.7.0 版本。
apache-spark - 如何将图框添加到 Apache Zeppelin
我正在尝试将 Apache Zeppelin 上的 graphframes 库与 Spark(pyspark)解释器一起使用,但是,我不断收到错误消息:
ModuleNotFoundError: No module named 'graphframes'
每当我尝试使用from graphframes import *
.
我尝试--packages 'graphframes:graphframes:0.7.0-spark2.4-s_2.11'
在 zeppelin-env.sh 文件中添加指令,尝试使用该z.load('graphframes:graphframes:0.7.0-spark2.4-s_2.11')
函数,并尝试在解释器设置中添加图形框架作为依赖项,但是,这些尝试都没有奏效。
我还尝试将 Spark 存储库添加到 Zeppelin,然后将图形框架的 maven 坐标添加到 zeppelin 上的依赖项部分下的解释器。但是,这也不起作用。
我在 EMR 集群上托管的 zeppelin 0.8.1 上使用带有 scala 2.11 的 spark 版本 2.4。
我可以使用上面提到的 pyspark 和 --packages 指令从终端使用图形框架,所以这似乎是一个与 zeppelin 相关的问题。
我不知道我还能做什么。关于如何让图形框架在 zeppelin 上工作的任何想法?
apache-spark - 如何在 AWS EMR 上使用带有 pyspark 的图框?
我正在尝试在 AWS EMR 上的 Jupyter Notebook 中使用 pyspark 中的graphframes包(使用 Sagemaker 和 sparkmagic)。在 AWS 控制台中创建 EMR 集群时,我尝试添加配置选项:
但是当我尝试在 jupyter notebook 的 pyspark 代码中使用 graphframes 包时,我仍然遇到错误。
这是我的代码(来自graphframes示例):
这是输出/错误:
我通读了这个 git 线程,但所有潜在的解决方法似乎都非常复杂,需要通过 ssh 连接到 EMR 集群的主节点。