protected TableIdentifier buildInnerTableIdentifier(Identifier identifier) {
    Preconditions.checkArgument(
        identifier.namespace() != null && identifier.namespace().length > 0,
        "database is not specific, table identifier: " + identifier.name());
    Preconditions.checkArgument(
        identifier.namespace().length == 2,
        "mixed-format does not support multi-level namespace: "
            + Joiner.on(".").join(identifier.namespace()));

    return TableIdentifier.of(catalog.name(), identifier.namespace()[0], identifier.namespace()[1]);
  }
Build an Amoro {@link TableIdentifier} for the given Spark identifier.

@param identifier Spark's identifier
@return an Amoro identifier
amoro-format-mixed/amoro-mixed-spark/amoro-mixed-spark-3-common/src/main/java/org/apache/amoro/spark/mixed/MixedSparkCatalogBase.java