public void deserializeUDFTable(InputStream inputStream) throws IOException {
    int size = ReadWriteIOUtils.readInt(inputStream);
    while (size > 0) {
      UDFInformation udfInformation = UDFInformation.deserialize(inputStream);
      if (udfInformation.getUdfType().isTreeModel()) {
        udfInformationMap.get(Model.TREE).put(udfInformation.getFunctionName(), udfInformation);
      } else {
        udfInformationMap.get(Model.TABLE).put(udfInformation.getFunctionName(), udfInformation);
      }
      size--;
    }
  }
maintain a map for creating instance, model -> functionName -> class
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/udf/UDFTable.java