gpt4 book ai didi

java - 在hadoop FS中写一个二叉树

转载 作者:可可西里 更新时间:2023-11-01 14:32:18 26 4
gpt4 key购买 nike

我需要将二叉树写入 HDFS,我将使用它来表示决策树。但是为了做到这一点,我首先需要创建一个 BinaryTreeNode 类,它将成为树节点。这些是我的类属性:

private String name;
private String attribute;
private String attType;
private String condition;
private String lines;
private BinaryTreeNode leftChild;
private BinaryTreeNode rightChild;

所以现在我需要实现用于读取和写入这些节点的 write 和 readFields 方法。这些是我所做的:

public void write(DataOutput d) throws IOException 
{
d.writeUTF(name);
d.writeUTF(attribute);
d.writeUTF(attType);
d.writeUTF(condition);
d.writeUTF(lines);
//SOMETHIN FOR LEFT AND RIGHT CHILD
}

public void readFields(DataInput di) throws IOException
{
name=di.readUTF();
attribute=di.readUTF();
attType=di.readUTF();
condition=di.readUTF();
lines=di.readUTF();
//SOMETHIN FOR LEFT AND RIGHT CHILD
}

BinaryTreeNode read(DataInput in) throws IOException
{
BinaryTreeNode ob = new BinaryTreeNode();
ob.readFields(in);
return ob;
}

我想不出的是如何写入和读取我的 2 个子节点。请注意,树将递归构建,每个节点将有 0-2 个子节点。所以我后来的目的是拥有一个 BinaryTree 类,该类将具有 BinaryTreeNode root 属性。谢谢

最佳答案

I need to write a binary tree to HDFS

All i need is a way to save and load my tree.

选择 HDFS 的原因是什么? HDFS 是一种分布式文件系统,可以在其上存储任何类型的数据/文件。您编写了大量代码来大规模有效地存储和检索图形。

您可以从面向图形的数据库(如 OrientDB)中存储和检索图形和 Neo4j .

此外,还有像Apache Giraph这样的开源框架。 , Apache HamaGoldenOrb .可能还存在与 Java 程序进行交互的绑定(bind)。

关于java - 在hadoop FS中写一个二叉树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8627104/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com