我正在试验ApacheGiraph。我需要为驻留在hdfs中的csv文件创建一个简单的图形,它显示了两列之间的关系。(与存储名称相关的受害者)我的数据大小大于1gb csv格式。最初尝试使用neo4j使用java和本地文件。但它只能加载小数据,无法直接从hdfs导入数据。我的数据可能会增加,所以考虑使用ApacheGiraph。
但如何做到这一点呢?
希望apache giraph只接受vertext格式的输入。我的数据是csv格式的。那么有什么工具可以将我的csv转换成graph格式,并将其作为giraph的输入,用于graph中的计算。
1条答案
按热度按时间50few1ms1#
我也有同样的疑问,虽然很多人的回答似乎都建议将图表改写成giraph之外的标准格式,但这并不是必须的。
您应该查看标准类的实现:
https://apache.googlesource.com/giraph/+/refs/heads/trunk/giraph-core/src/main/java/org/apache/giraph/io/formats/intnulltextedgeinputformat.java
它读取一个tsv文件(这是
Text
“类名的一部分)包含整数顶点ID对(这是”Int
表格的“部分”:不考虑边缘元数据,只考虑一对顶点(这是
Null
“零件”)。通过更改
SEPARATOR
,或通过转换IntWritable
至Text
(其他类型也一样)。稍后将选择输入格式作为传递给框架的属性(提供要用于解析输入数据的类的完全限定名)。