返回介绍

Gelly:Flink Graph API

发布于 2025-05-02 18:19:17 字数 4286 浏览 0 评论 0 收藏

Gelly 是 Flink 的 Graph API。它包含一组方法和实用程序,旨在简化 Flink 中图形分析应用程序的开发。在 Gelly 中,可以使用与批处理 API 提供的类似的高级函数来转换和修改图形。Gelly 提供了创建,转换和修改图形的方法,以及图形算法库。

使用 Gelly

冻膜是目前的部分 库 Maven 项目。所有相关的类都位于 org.apache.flink.graph 包中。

将以下依赖项添加到您 pom.xml 使用 Gelly。

<dependency>
  <groupId>org.apache.flink</groupId>
  <artifactId>flink-gelly_2.11</artifactId>
  <version>1.7-SNAPSHOT</version>
</dependency>
<dependency>
  <groupId>org.apache.flink</groupId>
  <artifactId>flink-gelly-scala_2.11</artifactId>
  <version>1.7-SNAPSHOT</version>
</dependency>

请注意,Gelly 不是二进制发行版的一部分。有关 Gelly 库打包到 Flink 用户程序的说明,请参阅 链接

其余部分提供了可用方法的说明,并提供了如何使用 Gelly 以及如何将其与 Flink DataSet API 混合的几个示例。

运行 Gelly 示例

Gelly 库 jar 在 opt 目录中的 Flink 发行版 中提供(对于早于 Flink 1.2 的版本,这些可以从 Maven Central 手动下载 )。要运行 Gelly 示例,必须将 flink-gelly (对于 Java)或 flink-gelly-scala (对于 Scala)jar 复制到 Flink 的 lib 目录中。

cp opt/flink-gelly_*.jar lib/
cp opt/flink-gelly-scala_*.jar lib/

Gelly 的示例 jar 包含每个库方法的驱动程序,并在 示例 目录中提供。配置并启动集群后,列出可用的算法类:

./bin/start-cluster.sh
./bin/flink run examples/gelly/flink-gelly-examples_*.jar

Gelly 驱动程序可以生成图形数据或从 CSV 文件读取边缘列表(群集中的每个节点都必须能够访问输入文件)。选择算法时,将显示算法描述,可用输入和输出以及配置。 JaccardIndex 打印用法:

./bin/flink run examples/gelly/flink-gelly-examples_*.jar --algorithm JaccardIndex

显示一百万个顶点图的 图表指标

./bin/flink run examples/gelly/flink-gelly-examples_*.jar \
  --algorithm GraphMetrics --order directed \
  --input RMatGraph --type integer --scale 20 --simplify directed \
  --output print

图形的大小由 --scale 和 --edge_factor 参数调整。该 库生成 提供了访问其他配置调整幂律偏移和随机噪声。

示例社交网络数据由 斯坦福网络分析项目提供 。在 COM-LJ 数据集是一个很好的入门尺寸。运行一些算法并在 Flink 的 Web UI 中监控作业进度:

wget -O - http://snap.stanford.edu/data/bigdata/communities/com-lj.ungraph.txt.gz | gunzip -c > com-lj.ungraph.txt

./bin/flink run -q examples/gelly/flink-gelly-examples_*.jar \
  --algorithm GraphMetrics --order undirected \
  --input CSV --type integer --simplify undirected --input_filename com-lj.ungraph.txt --input_field_delimiter /figure>\t' \
  --output print

./bin/flink run -q examples/gelly/flink-gelly-examples_*.jar \
  --algorithm ClusteringCoefficient --order undirected \
  --input CSV --type integer --simplify undirected --input_filename com-lj.ungraph.txt --input_field_delimiter /figure>\t' \
  --output hash

./bin/flink run -q examples/gelly/flink-gelly-examples_*.jar \
  --algorithm JaccardIndex \
  --input CSV --type integer --simplify undirected --input_filename com-lj.ungraph.txt --input_field_delimiter /figure>\t' \
  --output hash

请在用户 邮件列表Flink Jira 上提交函数请求和报告问题。我们欢迎有关新算法和函数以及 代码贡献的建议

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。