乾燥ツリーを表すために使用するバイナリツリーを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の子があることに注意してください。したがって、後の目的は、属性BinaryTreeNoderootを持つBinaryTreeクラスを作成することです。ありがとう