[ {
  "key" : "primary",
  "components" : [ {
    "name" : "packaging",
    "filesCount" : 24,
    "linesOfCode" : 291,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.java",
      "value" : 14,
      "description" : [ ]
    }, {
      "name" : "  *.xml",
      "value" : 4,
      "description" : [ ]
    }, {
      "name" : "  *.scala",
      "value" : 5,
      "description" : [ ]
    }, {
      "name" : "  *.sql",
      "value" : 1,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.java",
      "value" : 98,
      "description" : [ ]
    }, {
      "name" : "  *.xml",
      "value" : 95,
      "description" : [ ]
    }, {
      "name" : "  *.scala",
      "value" : 81,
      "description" : [ ]
    }, {
      "name" : "  *.sql",
      "value" : 17,
      "description" : [ ]
    } ]
  }, {
    "name" : "hudi-hadoop-common",
    "filesCount" : 19,
    "linesOfCode" : 2173,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.java",
      "value" : 19,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.java",
      "value" : 2173,
      "description" : [ ]
    } ]
  }, {
    "name" : "docker",
    "filesCount" : 8,
    "linesOfCode" : 613,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.yml",
      "value" : 2,
      "description" : [ ]
    }, {
      "name" : "  *.mustache",
      "value" : 4,
      "description" : [ ]
    }, {
      "name" : "  *.xml",
      "value" : 2,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.yml",
      "value" : 509,
      "description" : [ ]
    }, {
      "name" : "  *.mustache",
      "value" : 82,
      "description" : [ ]
    }, {
      "name" : "  *.xml",
      "value" : 22,
      "description" : [ ]
    } ]
  }, {
    "name" : "hudi-aws",
    "filesCount" : 15,
    "linesOfCode" : 1783,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.java",
      "value" : 15,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.java",
      "value" : 1783,
      "description" : [ ]
    } ]
  }, {
    "name" : "hudi-kafka-connect",
    "filesCount" : 22,
    "linesOfCode" : 1902,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.java",
      "value" : 21,
      "description" : [ ]
    }, {
      "name" : "  *.proto",
      "value" : 1,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.java",
      "value" : 1846,
      "description" : [ ]
    }, {
      "name" : "  *.proto",
      "value" : 56,
      "description" : [ ]
    } ]
  }, {
    "name" : "hudi-sync",
    "filesCount" : 56,
    "linesOfCode" : 5405,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.java",
      "value" : 56,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.java",
      "value" : 5405,
      "description" : [ ]
    } ]
  }, {
    "name" : "hudi-examples",
    "filesCount" : 11,
    "linesOfCode" : 285,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.yml",
      "value" : 3,
      "description" : [ ]
    }, {
      "name" : "  *.sql",
      "value" : 8,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.yml",
      "value" : 150,
      "description" : [ ]
    }, {
      "name" : "  *.sql",
      "value" : 135,
      "description" : [ ]
    } ]
  }, {
    "name" : "ROOT",
    "filesCount" : 2,
    "linesOfCode" : 471,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.yml",
      "value" : 1,
      "description" : [ ]
    }, {
      "name" : "  *.rdf",
      "value" : 1,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.yml",
      "value" : 329,
      "description" : [ ]
    }, {
      "name" : "  *.rdf",
      "value" : 142,
      "description" : [ ]
    } ]
  }, {
    "name" : "hudi-platform-service",
    "filesCount" : 29,
    "linesOfCode" : 1858,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.java",
      "value" : 24,
      "description" : [ ]
    }, {
      "name" : "  *.xml",
      "value" : 4,
      "description" : [ ]
    }, {
      "name" : "  *.thrift",
      "value" : 1,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.java",
      "value" : 1496,
      "description" : [ ]
    }, {
      "name" : "  *.xml",
      "value" : 297,
      "description" : [ ]
    }, {
      "name" : "  *.thrift",
      "value" : 65,
      "description" : [ ]
    } ]
  }, {
    "name" : "style",
    "filesCount" : 2,
    "linesOfCode" : 121,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.xml",
      "value" : 2,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.xml",
      "value" : 121,
      "description" : [ ]
    } ]
  }, {
    "name" : "hudi-hadoop-mr",
    "filesCount" : 54,
    "linesOfCode" : 5391,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.java",
      "value" : 54,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.java",
      "value" : 5391,
      "description" : [ ]
    } ]
  }, {
    "name" : "hudi-io",
    "filesCount" : 52,
    "linesOfCode" : 3255,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.java",
      "value" : 51,
      "description" : [ ]
    }, {
      "name" : "  *.proto",
      "value" : 1,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.java",
      "value" : 3208,
      "description" : [ ]
    }, {
      "name" : "  *.proto",
      "value" : 47,
      "description" : [ ]
    } ]
  }, {
    "name" : "hudi-cli",
    "filesCount" : 43,
    "linesOfCode" : 5868,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.java",
      "value" : 42,
      "description" : [ ]
    }, {
      "name" : "  *.yml",
      "value" : 1,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.java",
      "value" : 5863,
      "description" : [ ]
    }, {
      "name" : "  *.yml",
      "value" : 5,
      "description" : [ ]
    } ]
  }, {
    "name" : "hudi-gcp",
    "filesCount" : 5,
    "linesOfCode" : 706,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.java",
      "value" : 5,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.java",
      "value" : 706,
      "description" : [ ]
    } ]
  }, {
    "name" : "hudi-timeline-service",
    "filesCount" : 15,
    "linesOfCode" : 1897,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.java",
      "value" : 15,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.java",
      "value" : 1897,
      "description" : [ ]
    } ]
  }, {
    "name" : "hudi-spark-datasource",
    "filesCount" : 387,
    "linesOfCode" : 55228,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.scala",
      "value" : 335,
      "description" : [ ]
    }, {
      "name" : "  *.g4",
      "value" : 11,
      "description" : [ ]
    }, {
      "name" : "  *.java",
      "value" : 41,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.scala",
      "value" : 43931,
      "description" : [ ]
    }, {
      "name" : "  *.g4",
      "value" : 8481,
      "description" : [ ]
    }, {
      "name" : "  *.java",
      "value" : 2816,
      "description" : [ ]
    } ]
  }, {
    "name" : "hudi-common",
    "filesCount" : 527,
    "linesOfCode" : 55356,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.java",
      "value" : 493,
      "description" : [ ]
    }, {
      "name" : "  *.avsc",
      "value" : 33,
      "description" : [ ]
    }, {
      "name" : "  *.xml",
      "value" : 1,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.java",
      "value" : 50830,
      "description" : [ ]
    }, {
      "name" : "  *.avsc",
      "value" : 2449,
      "description" : [ ]
    }, {
      "name" : "  *.xml",
      "value" : 2077,
      "description" : [ ]
    } ]
  }, {
    "name" : "scripts",
    "filesCount" : 2,
    "linesOfCode" : 350,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.py",
      "value" : 2,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.py",
      "value" : 350,
      "description" : [ ]
    } ]
  }, {
    "name" : "hudi-client",
    "filesCount" : 620,
    "linesOfCode" : 52003,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.java",
      "value" : 584,
      "description" : [ ]
    }, {
      "name" : "  *.scala",
      "value" : 36,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.java",
      "value" : 49732,
      "description" : [ ]
    }, {
      "name" : "  *.scala",
      "value" : 2271,
      "description" : [ ]
    } ]
  }, {
    "name" : "hudi-utilities",
    "filesCount" : 191,
    "linesOfCode" : 17708,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.java",
      "value" : 191,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.java",
      "value" : 17708,
      "description" : [ ]
    } ]
  }, {
    "name" : "hudi-flink-datasource",
    "filesCount" : 285,
    "linesOfCode" : 32917,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.java",
      "value" : 285,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.java",
      "value" : 32917,
      "description" : [ ]
    } ]
  }, {
    "name" : "hudi-integ-test",
    "filesCount" : 91,
    "linesOfCode" : 5700,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.java",
      "value" : 73,
      "description" : [ ]
    }, {
      "name" : "  *.scala",
      "value" : 18,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.java",
      "value" : 4961,
      "description" : [ ]
    }, {
      "name" : "  *.scala",
      "value" : 739,
      "description" : [ ]
    } ]
  } ],
  "componentDependencies" : [ {
    "fromComponent" : "packaging",
    "locFrom" : 98,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "packaging/hudi-aws-bundle/src/main/java/org/apache/hudi/aws/bundle/Main.java",
      "evidence" : "import org.apache.hudi.common.util.ReflectionUtils;"
    }, {
      "pathFrom" : "packaging/hudi-cli-bundle/src/main/java/org/apache/hudi/cli/bundle/Main.java",
      "evidence" : "import org.apache.hudi.common.util.ReflectionUtils;"
    }, {
      "pathFrom" : "packaging/hudi-kafka-connect-bundle/src/main/java/org/apache/hudi/kafka/connect/bundle/Main.java",
      "evidence" : "import org.apache.hudi.common.util.ReflectionUtils;"
    }, {
      "pathFrom" : "packaging/hudi-trino-bundle/src/main/java/org/apache/hudi/trino/bundle/Main.java",
      "evidence" : "import org.apache.hudi.common.util.ReflectionUtils;"
    }, {
      "pathFrom" : "packaging/hudi-hadoop-mr-bundle/src/main/java/org/apache/hudi/hadoop/bundle/Main.java",
      "evidence" : "import org.apache.hudi.common.util.ReflectionUtils;"
    }, {
      "pathFrom" : "packaging/hudi-spark-bundle/src/main/java/org/apache/hudi/spark/bundle/Main.java",
      "evidence" : "import org.apache.hudi.common.util.ReflectionUtils;"
    }, {
      "pathFrom" : "packaging/hudi-datahub-sync-bundle/src/main/java/org/apache/hudi/datahub/bundle/Main.java",
      "evidence" : "import org.apache.hudi.common.util.ReflectionUtils;"
    }, {
      "pathFrom" : "packaging/hudi-utilities-slim-bundle/src/main/java/org/apache/hudi/utilities/bundle/Main.java",
      "evidence" : "import org.apache.hudi.common.util.ReflectionUtils;"
    }, {
      "pathFrom" : "packaging/hudi-utilities-bundle/src/main/java/org/apache/hudi/utilities/bundle/Main.java",
      "evidence" : "import org.apache.hudi.common.util.ReflectionUtils;"
    }, {
      "pathFrom" : "packaging/hudi-presto-bundle/src/main/java/org/apache/hudi/presto/bundle/Main.java",
      "evidence" : "import org.apache.hudi.common.util.ReflectionUtils;"
    }, {
      "pathFrom" : "packaging/hudi-flink-bundle/src/main/java/org/apache/hudi/flink/bundle/Main.java",
      "evidence" : "import org.apache.hudi.common.util.ReflectionUtils;"
    }, {
      "pathFrom" : "packaging/hudi-timeline-server-bundle/src/main/java/org/apache/hudi/timeline/server/bundle/Main.java",
      "evidence" : "import org.apache.hudi.common.util.ReflectionUtils;"
    }, {
      "pathFrom" : "packaging/hudi-hive-sync-bundle/src/main/java/org/apache/hudi/hive/bundle/Main.java",
      "evidence" : "import org.apache.hudi.common.util.ReflectionUtils;"
    }, {
      "pathFrom" : "packaging/hudi-gcp-bundle/src/main/java/org/apache/hudi/gcp/bigquery/bundle/Main.java",
      "evidence" : "import org.apache.hudi.common.util.ReflectionUtils;"
    } ],
    "toComponent" : "hudi-io",
    "count" : 14,
    "text" : null,
    "color" : "",
    "dependencyString" : "packaging -> hudi-io"
  }, {
    "fromComponent" : "packaging",
    "locFrom" : 98,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "packaging/hudi-aws-bundle/src/main/java/org/apache/hudi/aws/bundle/Main.java",
      "evidence" : "import org.apache.hudi.common.util.ReflectionUtils;"
    }, {
      "pathFrom" : "packaging/hudi-cli-bundle/src/main/java/org/apache/hudi/cli/bundle/Main.java",
      "evidence" : "import org.apache.hudi.common.util.ReflectionUtils;"
    }, {
      "pathFrom" : "packaging/hudi-kafka-connect-bundle/src/main/java/org/apache/hudi/kafka/connect/bundle/Main.java",
      "evidence" : "import org.apache.hudi.common.util.ReflectionUtils;"
    }, {
      "pathFrom" : "packaging/hudi-trino-bundle/src/main/java/org/apache/hudi/trino/bundle/Main.java",
      "evidence" : "import org.apache.hudi.common.util.ReflectionUtils;"
    }, {
      "pathFrom" : "packaging/hudi-hadoop-mr-bundle/src/main/java/org/apache/hudi/hadoop/bundle/Main.java",
      "evidence" : "import org.apache.hudi.common.util.ReflectionUtils;"
    }, {
      "pathFrom" : "packaging/hudi-spark-bundle/src/main/java/org/apache/hudi/spark/bundle/Main.java",
      "evidence" : "import org.apache.hudi.common.util.ReflectionUtils;"
    }, {
      "pathFrom" : "packaging/hudi-datahub-sync-bundle/src/main/java/org/apache/hudi/datahub/bundle/Main.java",
      "evidence" : "import org.apache.hudi.common.util.ReflectionUtils;"
    }, {
      "pathFrom" : "packaging/hudi-utilities-slim-bundle/src/main/java/org/apache/hudi/utilities/bundle/Main.java",
      "evidence" : "import org.apache.hudi.common.util.ReflectionUtils;"
    }, {
      "pathFrom" : "packaging/hudi-utilities-bundle/src/main/java/org/apache/hudi/utilities/bundle/Main.java",
      "evidence" : "import org.apache.hudi.common.util.ReflectionUtils;"
    }, {
      "pathFrom" : "packaging/hudi-presto-bundle/src/main/java/org/apache/hudi/presto/bundle/Main.java",
      "evidence" : "import org.apache.hudi.common.util.ReflectionUtils;"
    }, {
      "pathFrom" : "packaging/hudi-flink-bundle/src/main/java/org/apache/hudi/flink/bundle/Main.java",
      "evidence" : "import org.apache.hudi.common.util.ReflectionUtils;"
    }, {
      "pathFrom" : "packaging/hudi-timeline-server-bundle/src/main/java/org/apache/hudi/timeline/server/bundle/Main.java",
      "evidence" : "import org.apache.hudi.common.util.ReflectionUtils;"
    }, {
      "pathFrom" : "packaging/hudi-hive-sync-bundle/src/main/java/org/apache/hudi/hive/bundle/Main.java",
      "evidence" : "import org.apache.hudi.common.util.ReflectionUtils;"
    }, {
      "pathFrom" : "packaging/hudi-gcp-bundle/src/main/java/org/apache/hudi/gcp/bigquery/bundle/Main.java",
      "evidence" : "import org.apache.hudi.common.util.ReflectionUtils;"
    } ],
    "toComponent" : "hudi-common",
    "count" : 14,
    "text" : null,
    "color" : "",
    "dependencyString" : "packaging -> hudi-common"
  }, {
    "fromComponent" : "hudi-hadoop-common",
    "locFrom" : 1607,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-hadoop-common/src/main/java/org/apache/hudi/storage/hadoop/HadoopStorageConfiguration.java",
      "evidence" : "import org.apache.hudi.storage.StorageConfiguration;"
    }, {
      "pathFrom" : "hudi-hadoop-common/src/main/java/org/apache/hudi/storage/hadoop/HoodieHadoopStorage.java",
      "evidence" : "import org.apache.hudi.storage.HoodieStorage;"
    }, {
      "pathFrom" : "hudi-hadoop-common/src/main/java/org/apache/hudi/hadoop/fs/HadoopSeekableDataInputStream.java",
      "evidence" : "import org.apache.hudi.io.SeekableDataInputStream;"
    }, {
      "pathFrom" : "hudi-hadoop-common/src/main/java/org/apache/hudi/hadoop/fs/HadoopFSUtils.java",
      "evidence" : "import org.apache.hudi.storage.StorageConfiguration;"
    }, {
      "pathFrom" : "hudi-hadoop-common/src/main/java/org/apache/hudi/hadoop/fs/HoodieWrapperFileSystem.java",
      "evidence" : "import org.apache.hudi.storage.StorageSchemes;"
    }, {
      "pathFrom" : "hudi-hadoop-common/src/main/java/org/apache/hudi/hadoop/fs/CachingPath.java",
      "evidence" : "import static org.apache.hudi.common.util.ValidationUtils.checkState;"
    }, {
      "pathFrom" : "hudi-hadoop-common/src/main/java/org/apache/hudi/hadoop/fs/HoodieRetryWrapperFileSystem.java",
      "evidence" : "import org.apache.hudi.common.util.RetryHelper;"
    }, {
      "pathFrom" : "hudi-hadoop-common/src/main/java/org/apache/hudi/hadoop/fs/SizeAwareFSDataOutputStream.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-hadoop-common/src/main/java/org/apache/hudi/hadoop/fs/inline/InLineFSUtils.java",
      "evidence" : "import org.apache.hudi.storage.StoragePath;"
    } ],
    "toComponent" : "hudi-io",
    "count" : 9,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-hadoop-common -> hudi-io"
  }, {
    "fromComponent" : "hudi-hadoop-common",
    "locFrom" : 1444,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-hadoop-common/src/main/java/org/apache/hudi/storage/hadoop/HadoopStorageConfiguration.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-hadoop-common/src/main/java/org/apache/hudi/hadoop/fs/CachingPath.java",
      "evidence" : "import static org.apache.hudi.common.util.ValidationUtils.checkState;"
    }, {
      "pathFrom" : "hudi-hadoop-common/src/main/java/org/apache/hudi/hadoop/fs/HadoopFSUtils.java",
      "evidence" : "import org.apache.hudi.common.util.ValidationUtils;"
    }, {
      "pathFrom" : "hudi-hadoop-common/src/main/java/org/apache/hudi/hadoop/fs/HoodieWrapperFileSystem.java",
      "evidence" : "import org.apache.hudi.common.util.HoodieTimer;"
    }, {
      "pathFrom" : "hudi-hadoop-common/src/main/java/org/apache/hudi/hadoop/fs/HoodieRetryWrapperFileSystem.java",
      "evidence" : "import org.apache.hudi.common.util.RetryHelper;"
    }, {
      "pathFrom" : "hudi-hadoop-common/src/main/java/org/apache/hudi/hadoop/fs/SizeAwareFSDataOutputStream.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-hadoop-common/src/main/java/org/apache/hudi/hadoop/fs/inline/InLineFSUtils.java",
      "evidence" : "import static org.apache.hudi.common.util.ValidationUtils.checkArgument;"
    } ],
    "toComponent" : "hudi-common",
    "count" : 7,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-hadoop-common -> hudi-common"
  }, {
    "fromComponent" : "hudi-hadoop-common",
    "locFrom" : 1140,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-hadoop-common/src/main/java/org/apache/hudi/hadoop/fs/HadoopSeekableDataInputStream.java",
      "evidence" : "import org.apache.hudi.io.SeekableDataInputStream;"
    }, {
      "pathFrom" : "hudi-hadoop-common/src/main/java/org/apache/hudi/hadoop/fs/CachingPath.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-hadoop-common/src/main/java/org/apache/hudi/hadoop/fs/HadoopFSUtils.java",
      "evidence" : "import org.apache.hudi.exception.HoodieIOException;"
    }, {
      "pathFrom" : "hudi-hadoop-common/src/main/java/org/apache/hudi/hadoop/fs/SizeAwareFSDataOutputStream.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-hadoop-common/src/main/java/org/apache/hudi/hadoop/fs/HoodieWrapperFileSystem.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    } ],
    "toComponent" : "hudi-client",
    "count" : 5,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-hadoop-common -> hudi-client"
  }, {
    "fromComponent" : "hudi-aws",
    "locFrom" : 968,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-aws/src/main/java/org/apache/hudi/config/DynamoDbBasedLockConfig.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-aws/src/main/java/org/apache/hudi/config/GlueCatalogSyncClientConfig.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-aws/src/main/java/org/apache/hudi/aws/sync/AWSGlueCatalogSyncClient.java",
      "evidence" : "import org.apache.hudi.common.table.TableSchemaResolver;"
    } ],
    "toComponent" : "hudi-platform-service",
    "count" : 3,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-aws -> hudi-platform-service"
  }, {
    "fromComponent" : "hudi-aws",
    "locFrom" : 1636,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-aws/src/main/java/org/apache/hudi/config/DynamoDbBasedLockConfig.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-aws/src/main/java/org/apache/hudi/config/GlueCatalogSyncClientConfig.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-aws/src/main/java/org/apache/hudi/config/HoodieAWSConfig.java",
      "evidence" : "import org.apache.hudi.common.config.ConfigClassProperty;"
    }, {
      "pathFrom" : "hudi-aws/src/main/java/org/apache/hudi/aws/transaction/lock/DynamoDBBasedLockProvider.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-aws/src/main/java/org/apache/hudi/aws/cloudwatch/CloudWatchReporter.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-aws/src/main/java/org/apache/hudi/aws/sync/util/GluePartitionFilterGenerator.java",
      "evidence" : "import org.apache.hudi.expression.Expression;"
    }, {
      "pathFrom" : "hudi-aws/src/main/java/org/apache/hudi/aws/sync/AWSGlueCatalogSyncClient.java",
      "evidence" : "import org.apache.hudi.common.table.TableSchemaResolver;"
    }, {
      "pathFrom" : "hudi-aws/src/main/java/org/apache/hudi/aws/sync/AwsGlueCatalogSyncTool.java",
      "evidence" : "import org.apache.hudi.common.config.TypedProperties;"
    }, {
      "pathFrom" : "hudi-aws/src/main/java/org/apache/hudi/aws/credentials/HoodieConfigAWSCredentialsProvider.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-aws/src/main/java/org/apache/hudi/aws/credentials/HoodieConfigAWSAssumedRoleCredentialsProvider.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    } ],
    "toComponent" : "hudi-common",
    "count" : 10,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-aws -> hudi-common"
  }, {
    "fromComponent" : "hudi-client",
    "locFrom" : 23037,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/config/HoodieWriteConfig.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkWriteHandleFactory.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieWriteHandle.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieCDCLogger.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieMergedReadHandle.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieAppendHandle.java",
      "evidence" : "import org.apache.hudi.common.table.view.TableFileSystemView;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/async/AsyncClusteringService.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/async/AsyncCompactService.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/async/HoodieAsyncService.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/util/FlinkClientUtil.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/lock/FileSystemBasedLockProvider.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/upgrade/OneToTwoUpgradeHandler.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/upgrade/UpgradeDowngrade.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/upgrade/TwoToThreeUpgradeHandler.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/upgrade/SixToFiveDowngradeHandler.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/upgrade/ThreeToFourUpgradeHandler.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/upgrade/TwoToOneDowngradeHandler.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/upgrade/FiveToSixUpgradeHandler.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/upgrade/FourToFiveUpgradeHandler.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/upgrade/OneToZeroDowngradeHandler.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/upgrade/ZeroToOneUpgradeHandler.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieActiveTimeline;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/HoodieFlinkTable.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/HoodieFlinkMergeOnReadTable.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/HoodieFlinkCopyOnWriteTable.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/HoodieJavaCopyOnWriteTable.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/HoodieJavaTable.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/HoodieJavaMergeOnReadTable.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/HoodieTable.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/HoodieSparkTable.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/HoodieSparkMergeOnReadTable.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/HoodieSparkCopyOnWriteTable.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/commit/BaseJavaCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/HoodieMergeHelper.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/action/commit/FlinkInsertOverwriteCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieTimeline;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/action/commit/FlinkDeletePartitionCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/commit/JavaUpsertPartitioner.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/commit/JavaBulkInsertHelper.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/commit/JavaInsertOverwriteCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieTimeline;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/BaseCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieActiveTimeline;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/commit/BaseSparkCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/commit/SparkInsertOverwriteCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieTimeline;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/commit/SparkBulkInsertHelper.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/commit/SparkDeletePartitionCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/commit/UpsertPartitioner.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/compact/HoodieCompactor.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/compact/CompactHelpers.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/action/compact/HoodieFlinkMergeOnReadTableCompactor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/compact/HoodieJavaMergeOnReadTableCompactor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/compact/RunCompactionActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieTimeline;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/compact/LogCompactionExecutionHelper.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieActiveTimeline;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/compact/CompactionExecutionHelper.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieActiveTimeline;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/compact/ScheduleCompactionActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieActiveTimeline;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/compact/HoodieSparkMergeOnReadTableCompactor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/HoodieIndexUtils.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/client/HoodieFlinkWriteClient.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/client/HoodieJavaWriteClient.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/BaseHoodieWriteClient.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/BaseHoodieClient.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/BaseHoodieTableServiceClient.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/CompactionAdminClient.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/HoodieTableServiceManagerClient.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/SparkRDDReadClient.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/SparkRDDWriteClient.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/client/HoodieFlinkTableServiceClient.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieActiveTimeline;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/client/HoodieJavaTableServiceClient.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieTimeline;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/BaseCompactor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/BaseClusterer.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/HoodieSparkCompactor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/HoodieSparkClusteringClient.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/SparkRDDTableServiceClient.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieTimeline;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/client/clustering/plan/strategy/FlinkSizeBasedClusteringPlanStrategyRecently.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/cluster/JavaExecuteClusteringCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieTimeline;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/cluster/ClusteringPlanActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/cluster/SparkExecuteClusteringCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieTimeline;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/deltacommit/SparkUpsertDeltaCommitPartitioner.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/client/clustering/run/strategy/JavaExecutionStrategy.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/clustering/run/strategy/MultipleSparkJobExecutionStrategy.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metrics/HoodieMetrics.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieTimeline;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/config/metrics/HoodieMetricsConfig.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/cluster/util/ConsistentHashingUpdateStrategyUtils.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/cluster/strategy/PartitionAwareClusteringPlanStrategy.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/cluster/strategy/BaseConsistentHashingBucketClusteringPlanStrategy.java",
      "evidence" : "import org.apache.hudi.common.table.view.TableFileSystemView;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/cluster/strategy/ClusteringPlanStrategy.java",
      "evidence" : "import org.apache.hudi.common.table.view.SyncableFileSystemView;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/compact/plan/generators/HoodieCompactionPlanGenerator.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/compact/plan/generators/HoodieLogCompactionPlanGenerator.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/compact/plan/generators/BaseHoodieCompactionPlanGenerator.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/bootstrap/BootstrapUtils.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/bootstrap/SparkBootstrapCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/bootstrap/BaseBootstrapMetadataHandler.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieTimeline;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/bootstrap/SparkBootstrapDeltaCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieTimeline;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/ttl/strategy/KeepByCreationTimeStrategy.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/ttl/strategy/KeepByTimeStrategy.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/clean/CleanPlanner.java",
      "evidence" : "import org.apache.hudi.common.table.view.HoodieTableFileSystemView;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/clean/CleanPlanActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/clean/CleanActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/index/WriteStatBasedIndexingCatchupTask.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/index/AbstractIndexingCatchupTask.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/index/IndexingCatchupTaskFactory.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/index/RunIndexActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/index/RecordBasedIndexingCatchupTask.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/index/IndexingCatchupTask.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/index/ScheduleIndexActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/index/functional/BaseHoodieFunctionalIndexClient.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/savepoint/SavepointActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.view.TableFileSystemView;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/savepoint/SavepointHelpers.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/BaseRollbackHelper.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/ListingBasedRollbackStrategy.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/RollbackUtils.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/BaseRollbackPlanActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/BaseRollbackActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieActiveTimeline;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/CopyOnWriteRollbackActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieActiveTimeline;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/MergeOnReadRollbackActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/MarkerBasedRollbackStrategy.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/RestorePlanActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieActiveTimeline;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/restore/RestoreUtils.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/restore/CopyOnWriteRestoreActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/restore/BaseRestoreActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieActiveTimeline;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/restore/MergeOnReadRestoreActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/marker/DirectWriteMarkers.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/marker/WriteMarkers.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/marker/SimpleDirectMarkerBasedDetectionStrategy.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieActiveTimeline;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/marker/TimelineServerBasedWriteMarkers.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieActiveTimeline;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/marker/SimpleTransactionDirectMarkerBasedDetectionStrategy.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieActiveTimeline;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/repair/RepairUtils.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieActiveTimeline;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bloom/HoodieGlobalBloomIndex.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/index/bloom/HoodieFileProbingFunction.java",
      "evidence" : "import org.apache.hudi.common.table.view.HoodieTableFileSystemView;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/index/bloom/HoodieMetadataBloomFilterProbingFunction.java",
      "evidence" : "import org.apache.hudi.common.table.view.HoodieTableFileSystemView;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/index/bloom/SparkHoodieBloomIndexHelper.java",
      "evidence" : "import org.apache.hudi.common.table.view.HoodieTableFileSystemView;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/simple/HoodieGlobalSimpleIndex.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/inmemory/HoodieInMemoryHashIndex.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieTimeline;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bucket/ConsistentBucketIndexUtils.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/index/bucket/HoodieSparkConsistentBucketIndex.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/index/hbase/SparkHoodieHBaseIndex.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/ConcurrentOperation.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/ConflictResolutionStrategy.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/SimpleConcurrentFileWritesConflictResolutionStrategy.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/PreferWriterConflictResolutionStrategy.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/TransactionManager.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/DirectMarkerTransactionManager.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/utils/LegacyArchivedMetaEntryReader.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/utils/TransactionUtils.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/utils/MetadataTableUtils.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/utils/ArchivalUtils.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/utils/SparkMetadataWriterUtils.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/utils/SparkValidatorUtils.java",
      "evidence" : "import org.apache.hudi.common.table.TableSchemaResolver;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/utils/DeletePartitionUtils.java",
      "evidence" : "import org.apache.hudi.common.table.view.SyncableFileSystemView;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/heartbeat/HoodieHeartbeatClient.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/heartbeat/HeartbeatUtils.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/timeline/LSMTimelineWriter.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/timeline/HoodieTimelineArchiver.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/timeline/ActiveActionWithDetails.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/embedded/EmbeddedTimelineService.java",
      "evidence" : "import org.apache.hudi.common.table.view.FileSystemViewManager;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/validator/SparkPreCommitValidator.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    } ],
    "toComponent" : "hudi-platform-service",
    "count" : 153,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-client -> hudi-platform-service"
  }, {
    "fromComponent" : "hudi-client",
    "locFrom" : 43774,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/config/HoodieWriteConfig.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/config/HoodieLockConfig.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/config/HoodieClusteringConfig.java",
      "evidence" : "import org.apache.hudi.common.util.ValidationUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/config/HoodieCleanConfig.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/config/HoodieIndexConfig.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/config/HoodieBootstrapConfig.java",
      "evidence" : "import org.apache.hudi.common.bootstrap.index.HFileBootstrapIndex;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/config/HoodieCompactionConfig.java",
      "evidence" : "import org.apache.hudi.common.config.ConfigClassProperty;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/config/HoodieHBaseIndexConfig.java",
      "evidence" : "import org.apache.hudi.common.config.ConfigClassProperty;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/config/HoodieWriteCommitCallbackConfig.java",
      "evidence" : "import org.apache.hudi.common.config.ConfigClassProperty;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/config/HoodieLayoutConfig.java",
      "evidence" : "import org.apache.hudi.common.config.ConfigClassProperty;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/config/HoodieInternalConfig.java",
      "evidence" : "import org.apache.hudi.common.config.ConfigProperty;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/config/HoodieErrorTableConfig.java",
      "evidence" : "import org.apache.hudi.common.config.ConfigClassProperty;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/config/HoodiePreCommitValidatorConfig.java",
      "evidence" : "import org.apache.hudi.common.config.ConfigClassProperty;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/config/HoodieArchivalConfig.java",
      "evidence" : "import org.apache.hudi.common.config.ConfigClassProperty;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/config/HoodieTTLConfig.java",
      "evidence" : "import org.apache.hudi.common.config.ConfigClassProperty;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/config/HoodiePayloadConfig.java",
      "evidence" : "import org.apache.hudi.common.config.ConfigClassProperty;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkWriteHandleFactory.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieWriteHandle.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieCDCLogger.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieMergedReadHandle.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieAppendHandle.java",
      "evidence" : "import org.apache.hudi.common.table.view.TableFileSystemView;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkMergeHandle.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkMergeAndReplaceHandleWithChangeLog.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkMergeHandleWithChangeLog.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkCreateHandle.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkMergeAndReplaceHandle.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieMergeHandleWithChangeLog.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/IOUtils.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieReadHandle.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieUnboundedCreateHandle.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieSortedMergeHandle.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieConcatHandle.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieBootstrapHandle.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieKeyLookupHandle.java",
      "evidence" : "import org.apache.hudi.common.util.HoodieTimer;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieMergeHandleFactory.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieKeyLocationFetchHandle.java",
      "evidence" : "import org.apache.hudi.common.util.BaseFileUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieSortedMergeHandleWithChangeLog.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieMergeHandle.java",
      "evidence" : "import org.apache.hudi.common.util.DefaultSizeEstimator;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieIOHandle.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieCreateHandle.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieRangeInfoHandle.java",
      "evidence" : "import org.apache.hudi.common.util.collection.Pair;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieKeyLookupResult.java",
      "evidence" : "import org.apache.hudi.common.util.collection.Pair;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/WriteHandleFactory.java",
      "evidence" : "import org.apache.hudi.common.fs.FSUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkConcatAndReplaceHandle.java",
      "evidence" : "import org.apache.hudi.common.engine.TaskContextSupplier;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkAppendHandle.java",
      "evidence" : "import org.apache.hudi.common.engine.TaskContextSupplier;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/ExplicitWriteHandleFactory.java",
      "evidence" : "import org.apache.hudi.common.engine.TaskContextSupplier;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkConcatHandle.java",
      "evidence" : "import org.apache.hudi.common.engine.TaskContextSupplier;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/SingleFileHandleCreateFactory.java",
      "evidence" : "import org.apache.hudi.common.engine.TaskContextSupplier;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/CreateHandleFactory.java",
      "evidence" : "import org.apache.hudi.common.engine.TaskContextSupplier;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/AppendHandleFactory.java",
      "evidence" : "import org.apache.hudi.common.engine.TaskContextSupplier;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/async/AsyncClusteringService.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/async/AsyncCompactService.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/async/HoodieAsyncService.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/async/AsyncCleanerService.java",
      "evidence" : "import org.apache.hudi.common.util.collection.Pair;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/async/AsyncArchiveService.java",
      "evidence" : "import org.apache.hudi.common.util.collection.Pair;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/async/SparkAsyncClusteringService.java",
      "evidence" : "import org.apache.hudi.common.engine.HoodieEngineContext;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/async/SparkAsyncCompactService.java",
      "evidence" : "import org.apache.hudi.common.engine.HoodieEngineContext;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/util/FlinkClientUtil.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/util/ExecutorFactory.java",
      "evidence" : "import org.apache.hudi.common.util.queue.BoundedInMemoryExecutor;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/keygen/SimpleAvroKeyGenerator.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/keygen/TimestampBasedAvroKeyGenerator.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/keygen/KeyGenUtils.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/keygen/CustomAvroKeyGenerator.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/keygen/TimestampBasedKeyGenerator.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/keygen/UTF8StringPartitionPathFormatter.java",
      "evidence" : "import org.apache.hudi.common.util.PartitionPathEncodeUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/keygen/StringPartitionPathFormatter.java",
      "evidence" : "import org.apache.hudi.common.util.PartitionPathEncodeUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/keygen/PartitionPathFormatterBase.java",
      "evidence" : "import static org.apache.hudi.common.util.ValidationUtils.checkState;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/keygen/CustomKeyGenerator.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/keygen/SimpleKeyGenerator.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/keygen/BuiltinKeyGenerator.java",
      "evidence" : "import static org.apache.hudi.common.util.CollectionUtils.tail;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/index/functional/HoodieSparkFunctionalIndex.java",
      "evidence" : "import org.apache.hudi.common.util.CollectionUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/lock/FileSystemBasedLockProvider.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metadata/HoodieBackedTableMetadataWriter.java",
      "evidence" : "import org.apache.hudi.common.table.log.block.HoodieDeleteBlock;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metadata/HoodieMetadataWriteUtils.java",
      "evidence" : "import org.apache.hudi.common.table.marker.MarkerType;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/storage/row/HoodieRowDataParquetWriteSupport.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/storage/row/HoodieRowDataCreateHandle.java",
      "evidence" : "import org.apache.hudi.common.util.HoodieTimer;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/io/storage/row/HoodieRowParquetWriteSupport.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/io/storage/row/HoodieRowCreateHandle.java",
      "evidence" : "import org.apache.hudi.common.util.HoodieTimer;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/io/storage/row/HoodieInternalRowFileWriterFactory.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/storage/row/HoodieRowDataFileWriterFactory.java",
      "evidence" : "import org.apache.hudi.common.bloom.BloomFilter;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/storage/row/parquet/ParquetRowDataWriter.java",
      "evidence" : "import org.apache.hudi.common.util.ValidationUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/upgrade/OneToTwoUpgradeHandler.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/upgrade/UpgradeDowngrade.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/upgrade/TwoToThreeUpgradeHandler.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/upgrade/SixToFiveDowngradeHandler.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/upgrade/ThreeToFourUpgradeHandler.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/upgrade/TwoToOneDowngradeHandler.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/upgrade/FiveToSixUpgradeHandler.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/upgrade/FourToFiveUpgradeHandler.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/upgrade/OneToZeroDowngradeHandler.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/upgrade/ZeroToOneUpgradeHandler.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieActiveTimeline;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/upgrade/FlinkUpgradeDowngradeHelper.java",
      "evidence" : "import org.apache.hudi.keygen.constant.KeyGeneratorOptions;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/upgrade/JavaUpgradeDowngradeHelper.java",
      "evidence" : "import org.apache.hudi.keygen.constant.KeyGeneratorOptions;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/upgrade/FiveToFourDowngradeHandler.java",
      "evidence" : "import org.apache.hudi.common.config.ConfigProperty;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/upgrade/DowngradeHandler.java",
      "evidence" : "import org.apache.hudi.common.config.ConfigProperty;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/upgrade/FourToThreeDowngradeHandler.java",
      "evidence" : "import org.apache.hudi.common.config.ConfigProperty;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/upgrade/ThreeToTwoDowngradeHandler.java",
      "evidence" : "import org.apache.hudi.common.config.ConfigProperty;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/upgrade/UpgradeHandler.java",
      "evidence" : "import org.apache.hudi.common.config.ConfigProperty;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/upgrade/SupportsUpgradeDowngrade.java",
      "evidence" : "import org.apache.hudi.common.engine.HoodieEngineContext;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/upgrade/SparkUpgradeDowngradeHelper.java",
      "evidence" : "import org.apache.hudi.common.engine.HoodieEngineContext;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/HoodieFlinkTable.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/HoodieFlinkMergeOnReadTable.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/HoodieFlinkCopyOnWriteTable.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/HoodieJavaCopyOnWriteTable.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/HoodieJavaTable.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/HoodieJavaMergeOnReadTable.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/HoodieTable.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/HoodieSparkTable.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/HoodieSparkMergeOnReadTable.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/HoodieSparkCopyOnWriteTable.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/BucketIndexBulkInsertPartitioner.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/BulkInsertPartitioner.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/WorkloadStat.java",
      "evidence" : "import org.apache.hudi.common.util.collection.Pair;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/WorkloadProfile.java",
      "evidence" : "import org.apache.hudi.common.util.collection.Pair;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/RandomFileIdPrefixProvider.java",
      "evidence" : "import org.apache.hudi.common.config.TypedProperties;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/FileIdPrefixProvider.java",
      "evidence" : "import org.apache.hudi.common.config.TypedProperties;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/HoodieCompactionHandler.java",
      "evidence" : "import org.apache.hudi.common.table.log.block.HoodieLogBlock;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/ExplicitWriteHandleTable.java",
      "evidence" : "import org.apache.hudi.common.engine.HoodieEngineContext;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/commit/BaseJavaCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/HoodieMergeHelper.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/action/commit/FlinkInsertOverwriteCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieTimeline;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/action/commit/FlinkDeletePartitionCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/commit/JavaUpsertPartitioner.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/commit/JavaBulkInsertHelper.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/commit/JavaInsertOverwriteCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieTimeline;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/BaseCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieActiveTimeline;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/commit/BaseSparkCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/commit/SparkInsertOverwriteCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieTimeline;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/commit/SparkBulkInsertHelper.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/commit/SparkDeletePartitionCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/commit/UpsertPartitioner.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/action/commit/BaseFlinkCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.util.CommitUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/commit/JavaBulkInsertPreppedCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/commit/JavaBulkInsertCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/BaseBulkInsertHelper.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/BaseWriteHelper.java",
      "evidence" : "import org.apache.hudi.common.util.HoodieRecordUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/commit/ConsistentBucketBulkInsertDataInternalWriterHelper.java",
      "evidence" : "import org.apache.hudi.common.util.ValidationUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/commit/SparkBucketIndexPartitioner.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/commit/SparkBulkInsertCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/commit/BulkInsertDataInternalWriterHelper.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/commit/SparkBulkInsertPreppedCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/commit/BucketBulkInsertDataInternalWriterHelper.java",
      "evidence" : "import org.apache.hudi.keygen.constant.KeyGeneratorOptions;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/action/commit/FlinkDeleteHelper.java",
      "evidence" : "import org.apache.hudi.common.util.collection.Pair;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/commit/JavaWriteHelper.java",
      "evidence" : "import org.apache.hudi.common.util.collection.Pair;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/commit/JavaDeleteHelper.java",
      "evidence" : "import org.apache.hudi.common.util.collection.Pair;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/commit/JavaInsertOverwriteTableCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.util.collection.Pair;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/HoodieDeleteHelper.java",
      "evidence" : "import org.apache.hudi.common.util.collection.Pair;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/InsertBucketCumulativeWeightPair.java",
      "evidence" : "import org.apache.hudi.common.util.collection.Pair;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/HoodieWriteHelper.java",
      "evidence" : "import org.apache.hudi.common.util.collection.Pair;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/commit/SparkInsertOverwriteTableCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.util.collection.Pair;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/BaseMergeHelper.java",
      "evidence" : "import org.apache.hudi.common.util.queue.HoodieConsumer;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/action/commit/FlinkWriteHelper.java",
      "evidence" : "import org.apache.hudi.common.config.TypedProperties;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/BaseDeleteHelper.java",
      "evidence" : "import org.apache.hudi.common.function.SerializableFunctionUnchecked;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/ParallelismHelper.java",
      "evidence" : "import org.apache.hudi.common.function.SerializableFunctionUnchecked;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/commit/SparkInsertOverwritePartitioner.java",
      "evidence" : "import org.apache.hudi.common.fs.FSUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/commit/SparkInsertCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.data.HoodieData;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/commit/SparkDeletePreppedCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.data.HoodieData;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/commit/SparkUpsertPreppedCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.data.HoodieData;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/commit/SparkPartitionTTLActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.data.HoodieData;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/commit/SparkInsertPreppedCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.data.HoodieData;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/commit/SparkDeleteCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.data.HoodieData;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/commit/SparkUpsertCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.data.HoodieData;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/action/commit/FlinkInsertPreppedCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.engine.HoodieEngineContext;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/action/commit/FlinkInsertCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.engine.HoodieEngineContext;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/action/commit/FlinkUpsertPreppedCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.engine.HoodieEngineContext;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/action/commit/FlinkDeletePreppedCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.engine.HoodieEngineContext;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/action/commit/FlinkInsertOverwriteTableCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.engine.HoodieEngineContext;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/action/commit/FlinkDeleteCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.engine.HoodieEngineContext;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/action/commit/FlinkUpsertCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.engine.HoodieEngineContext;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/action/commit/FlinkBulkInsertPreppedCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.engine.HoodieEngineContext;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/commit/JavaInsertCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.engine.HoodieEngineContext;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/commit/JavaDeleteCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.engine.HoodieEngineContext;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/commit/JavaUpsertCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.engine.HoodieEngineContext;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/action/commit/delta/FlinkUpsertPreppedDeltaCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.engine.HoodieEngineContext;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/action/commit/delta/BaseFlinkDeltaCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.engine.HoodieEngineContext;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/action/commit/delta/FlinkUpsertDeltaCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.engine.HoodieEngineContext;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/compact/HoodieCompactor.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/compact/CompactHelpers.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/action/compact/HoodieFlinkMergeOnReadTableCompactor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/compact/HoodieJavaMergeOnReadTableCompactor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/compact/RunCompactionActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieTimeline;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/compact/LogCompactionExecutionHelper.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieActiveTimeline;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/compact/CompactionExecutionHelper.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieActiveTimeline;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/compact/ScheduleCompactionActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieActiveTimeline;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/compact/HoodieSparkMergeOnReadTableCompactor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/compact/OperationResult.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/compact/CompactionTriggerStrategy.java",
      "evidence" : "import org.apache.hudi.common.config.EnumDescription;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/execution/ExplicitWriteHandler.java",
      "evidence" : "import static org.apache.hudi.common.util.ValidationUtils.checkState;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/execution/FlinkLazyInsertIterable.java",
      "evidence" : "import static org.apache.hudi.common.util.ValidationUtils.checkState;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/execution/JavaLazyInsertIterable.java",
      "evidence" : "import static org.apache.hudi.common.util.ValidationUtils.checkState;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/execution/CopyOnWriteInsertHandler.java",
      "evidence" : "import static org.apache.hudi.common.util.ValidationUtils.checkState;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/execution/SparkLazyInsertIterable.java",
      "evidence" : "import org.apache.hudi.common.util.queue.HoodieExecutor;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/execution/HoodieLazyInsertIterable.java",
      "evidence" : "import org.apache.hudi.common.engine.TaskContextSupplier;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/HoodieIndexUtils.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/index/FlinkHoodieIndexFactory.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/index/JavaHoodieIndexFactory.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/index/SparkMetadataTableRecordIndex.java",
      "evidence" : "import org.apache.hudi.common.util.ValidationUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/index/SparkHoodieIndexFactory.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/HoodieIndex.java",
      "evidence" : "import org.apache.hudi.common.config.EnumDescription;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/index/FlinkHoodieIndex.java",
      "evidence" : "import org.apache.hudi.common.data.HoodieData;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/index/JavaHoodieIndex.java",
      "evidence" : "import org.apache.hudi.common.data.HoodieData;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/HoodieInternalProxyIndex.java",
      "evidence" : "import org.apache.hudi.common.data.HoodieData;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/index/SparkHoodieIndex.java",
      "evidence" : "import org.apache.hudi.common.data.HoodieData;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/index/state/FlinkInMemoryStateIndex.java",
      "evidence" : "import org.apache.hudi.common.data.HoodieData;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/client/HoodieFlinkWriteClient.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/client/HoodieJavaWriteClient.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/BaseHoodieWriteClient.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/BaseHoodieClient.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/BaseHoodieTableServiceClient.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/CompactionAdminClient.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/HoodieTableServiceManagerClient.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/SparkRDDReadClient.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/SparkRDDWriteClient.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/client/HoodieFlinkTableServiceClient.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieActiveTimeline;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/client/HoodieJavaTableServiceClient.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieTimeline;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/BaseCompactor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/BaseClusterer.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/HoodieSparkCompactor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/HoodieSparkClusteringClient.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/SparkRDDTableServiceClient.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieTimeline;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/client/FlinkTaskContextSupplier.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/FailOnFirstErrorWriteStatus.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/WriteStatus.java",
      "evidence" : "import org.apache.hudi.common.util.DateTimeUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/SparkTaskContextSupplier.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/client/clustering/plan/strategy/FlinkSizeBasedClusteringPlanStrategyRecently.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/client/clustering/plan/strategy/FlinkSizeBasedClusteringPlanStrategy.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/client/clustering/plan/strategy/JavaSizeBasedClusteringPlanStrategy.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/clustering/plan/strategy/SparkSizeBasedClusteringPlanStrategy.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/clustering/plan/strategy/SparkSingleFileSortPlanStrategy.java",
      "evidence" : "import org.apache.hudi.common.util.collection.Pair;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/clustering/plan/strategy/SparkConsistentBucketClusteringPlanStrategy.java",
      "evidence" : "import org.apache.hudi.common.util.collection.Triple;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/client/clustering/plan/strategy/FlinkConsistentBucketClusteringPlanStrategy.java",
      "evidence" : "import org.apache.hudi.common.engine.HoodieEngineContext;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/client/common/HoodieFlinkEngineContext.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/client/common/JavaTaskContextSupplier.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/client/common/HoodieJavaEngineContext.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/common/HoodieSparkEngineContext.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/cluster/JavaExecuteClusteringCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieTimeline;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/cluster/ClusteringPlanActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/cluster/SparkExecuteClusteringCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieTimeline;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/cluster/ClusteringPlanPartitionFilterMode.java",
      "evidence" : "import org.apache.hudi.common.config.EnumDescription;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/deltacommit/SparkUpsertDeltaCommitPartitioner.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/deltacommit/JavaUpsertPreppedDeltaCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/deltacommit/SparkBulkInsertPreppedDeltaCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/deltacommit/SparkBulkInsertDeltaCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/deltacommit/BaseSparkDeltaCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/deltacommit/SparkInsertPreppedDeltaCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.data.HoodieData;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/deltacommit/SparkUpsertPreppedDeltaCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.data.HoodieData;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/deltacommit/SparkInsertDeltaCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.data.HoodieData;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/deltacommit/SparkUpsertDeltaCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.data.HoodieData;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/deltacommit/SparkDeletePreppedDeltaCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.data.HoodieData;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/deltacommit/SparkDeleteDeltaCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.data.HoodieData;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/deltacommit/BaseJavaDeltaCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.engine.HoodieEngineContext;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/execution/bulkinsert/RowRecordKeyExtractor.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/execution/bulkinsert/RDDSpatialCurveSortPartitioner.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/execution/bulkinsert/RDDConsistentBucketBulkInsertPartitioner.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/execution/bulkinsert/ConsistentBucketIndexBulkInsertPartitionerWithRows.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/execution/bulkinsert/RDDSimpleBucketBulkInsertPartitioner.java",
      "evidence" : "import org.apache.hudi.common.util.ValidationUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/execution/bulkinsert/JavaCustomColumnsSortPartitioner.java",
      "evidence" : "import org.apache.hudi.common.util.collection.FlatLists;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/execution/bulkinsert/RDDCustomColumnsSortPartitioner.java",
      "evidence" : "import org.apache.hudi.common.util.collection.FlatLists;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/execution/bulkinsert/RDDBucketIndexPartitioner.java",
      "evidence" : "import org.apache.hudi.common.util.collection.FlatLists;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/execution/bulkinsert/BulkInsertSortMode.java",
      "evidence" : "import org.apache.hudi.common.config.EnumDescription;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/execution/bulkinsert/PartitionPathRDDPartitioner.java",
      "evidence" : "import org.apache.hudi.common.function.SerializableFunctionUnchecked;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/client/clustering/run/strategy/JavaExecutionStrategy.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/clustering/run/strategy/MultipleSparkJobExecutionStrategy.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/clustering/run/strategy/ExecutionStrategyUtil.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/clustering/run/strategy/SingleSparkJobExecutionStrategy.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/client/clustering/run/strategy/JavaSortAndSizeExecutionStrategy.java",
      "evidence" : "import org.apache.hudi.common.config.HoodieStorageConfig;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/clustering/run/strategy/SparkSortAndSizeExecutionStrategy.java",
      "evidence" : "import org.apache.hudi.common.config.HoodieStorageConfig;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/clustering/run/strategy/SparkSingleFileSortExecutionStrategy.java",
      "evidence" : "import org.apache.hudi.common.config.HoodieStorageConfig;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/clustering/run/strategy/SparkConsistentBucketClusteringExecutionStrategy.java",
      "evidence" : "import org.apache.hudi.common.data.HoodieData;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metrics/HoodieMetrics.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieTimeline;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metrics/JmxReporterServer.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metrics/MetricsReporterFactory.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metrics/MetricUtils.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metrics/Metrics.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metrics/datadog/DatadogReporter.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metrics/datadog/DatadogMetricsReporter.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metrics/datadog/DatadogHttpClient.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metrics/m3/M3ScopeReporterAdaptor.java",
      "evidence" : "import org.apache.hudi.common.util.collection.Pair;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metrics/prometheus/PushGatewayMetricsReporter.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metrics/prometheus/PrometheusReporter.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metrics/prometheus/PushGatewayReporter.java",
      "evidence" : "import org.apache.hudi.common.util.collection.Pair;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/config/metrics/HoodieMetricsConfig.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/config/metrics/HoodieMetricsM3Config.java",
      "evidence" : "import org.apache.hudi.common.config.ConfigClassProperty;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/config/metrics/HoodieMetricsJmxConfig.java",
      "evidence" : "import org.apache.hudi.common.config.ConfigClassProperty;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/config/metrics/HoodieMetricsCloudWatchConfig.java",
      "evidence" : "import org.apache.hudi.common.config.ConfigClassProperty;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/config/metrics/HoodieMetricsDatadogConfig.java",
      "evidence" : "import org.apache.hudi.common.config.ConfigClassProperty;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/config/metrics/HoodieMetricsGraphiteConfig.java",
      "evidence" : "import org.apache.hudi.common.config.ConfigClassProperty;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/config/metrics/HoodieMetricsPrometheusConfig.java",
      "evidence" : "import org.apache.hudi.common.config.ConfigClassProperty;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/keygen/parser/HoodieDateTimeParser.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/keygen/parser/BaseHoodieDateTimeParser.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/keygen/factory/HoodieAvroKeyGeneratorFactory.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/keygen/factory/HoodieSparkKeyGeneratorFactory.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/storage/HoodieConsistentBucketLayout.java",
      "evidence" : "import org.apache.hudi.common.util.CollectionUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/storage/HoodieSimpleBucketLayout.java",
      "evidence" : "import org.apache.hudi.common.util.CollectionUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/storage/HoodieStorageLayout.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/storage/HoodieDefaultLayout.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/cluster/util/ConsistentHashingUpdateStrategyUtils.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/cluster/strategy/PartitionAwareClusteringPlanStrategy.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/cluster/strategy/BaseConsistentHashingBucketClusteringPlanStrategy.java",
      "evidence" : "import org.apache.hudi.common.table.view.TableFileSystemView;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/cluster/strategy/ClusteringPlanStrategy.java",
      "evidence" : "import org.apache.hudi.common.table.view.SyncableFileSystemView;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/cluster/strategy/UpdateStrategy.java",
      "evidence" : "import org.apache.hudi.common.util.collection.Pair;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/cluster/strategy/ClusteringExecutionStrategy.java",
      "evidence" : "import org.apache.hudi.common.engine.HoodieEngineContext;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/compact/plan/generators/HoodieCompactionPlanGenerator.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/compact/plan/generators/HoodieLogCompactionPlanGenerator.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/compact/plan/generators/BaseHoodieCompactionPlanGenerator.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/compact/strategy/CompactionStrategy.java",
      "evidence" : "import org.apache.hudi.common.util.CompactionUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/bootstrap/BootstrapUtils.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/bootstrap/SparkBootstrapCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/bootstrap/BaseBootstrapMetadataHandler.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieTimeline;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/bootstrap/SparkBootstrapDeltaCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieTimeline;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/bootstrap/HoodieBootstrapWriteMetadata.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/bootstrap/OrcBootstrapMetadataHandler.java",
      "evidence" : "import org.apache.hudi.common.util.AvroOrcUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/bootstrap/ParquetBootstrapMetadataHandler.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/bootstrap/MetadataBootstrapHandlerFactory.java",
      "evidence" : "import org.apache.hudi.common.bootstrap.FileStatusUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/bootstrap/BootstrapRecordConsumer.java",
      "evidence" : "import org.apache.hudi.common.util.queue.HoodieConsumer;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/ttl/strategy/KeepByCreationTimeStrategy.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/ttl/strategy/KeepByTimeStrategy.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/ttl/strategy/HoodiePartitionTTLStrategyFactory.java",
      "evidence" : "import org.apache.hudi.common.util.ReflectionUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/ttl/strategy/PartitionTTLStrategy.java",
      "evidence" : "import org.apache.hudi.common.util.HoodieTimer;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/ttl/strategy/PartitionTTLStrategyType.java",
      "evidence" : "import org.apache.hudi.keygen.constant.KeyGeneratorType;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/BaseActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/HoodieWriteMetadata.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/clean/CleanPlanner.java",
      "evidence" : "import org.apache.hudi.common.table.view.HoodieTableFileSystemView;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/clean/CleanPlanActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/clean/CleanActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/clean/CleaningTriggerStrategy.java",
      "evidence" : "import org.apache.hudi.common.config.EnumDescription;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/index/WriteStatBasedIndexingCatchupTask.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/index/AbstractIndexingCatchupTask.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/index/IndexingCatchupTaskFactory.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/index/RunIndexActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/index/RecordBasedIndexingCatchupTask.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/index/IndexingCatchupTask.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/index/ScheduleIndexActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/index/functional/BaseHoodieFunctionalIndexClient.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/savepoint/SavepointActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.view.TableFileSystemView;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/savepoint/SavepointHelpers.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/BaseRollbackHelper.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/ListingBasedRollbackStrategy.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/RollbackUtils.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/BaseRollbackPlanActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/BaseRollbackActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieActiveTimeline;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/CopyOnWriteRollbackActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieActiveTimeline;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/MergeOnReadRollbackActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/MarkerBasedRollbackStrategy.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/RestorePlanActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieActiveTimeline;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/ListingBasedRollbackRequest.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/restore/RestoreUtils.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/restore/CopyOnWriteRestoreActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/restore/BaseRestoreActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieActiveTimeline;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/restore/MergeOnReadRestoreActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/marker/DirectWriteMarkers.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/marker/WriteMarkers.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/marker/SimpleDirectMarkerBasedDetectionStrategy.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieActiveTimeline;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/marker/TimelineServerBasedWriteMarkers.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieActiveTimeline;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/marker/SimpleTransactionDirectMarkerBasedDetectionStrategy.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieActiveTimeline;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/marker/MarkerBasedRollbackUtils.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/marker/ConflictDetectionUtils.java",
      "evidence" : "import org.apache.hudi.common.table.marker.MarkerType;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/marker/WriteMarkersFactory.java",
      "evidence" : "import org.apache.hudi.common.table.marker.MarkerType;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/repair/RepairUtils.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieActiveTimeline;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bloom/HoodieGlobalBloomIndex.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/index/bloom/HoodieFileProbingFunction.java",
      "evidence" : "import org.apache.hudi.common.table.view.HoodieTableFileSystemView;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/index/bloom/HoodieMetadataBloomFilterProbingFunction.java",
      "evidence" : "import org.apache.hudi.common.table.view.HoodieTableFileSystemView;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/index/bloom/SparkHoodieBloomIndexHelper.java",
      "evidence" : "import org.apache.hudi.common.table.view.HoodieTableFileSystemView;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bloom/HoodieBloomIndex.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bloom/ListBasedHoodieBloomIndexHelper.java",
      "evidence" : "import org.apache.hudi.common.util.CollectionUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/index/bloom/BucketizedBloomCheckPartitioner.java",
      "evidence" : "import org.apache.hudi.common.util.NumericUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bloom/IndexFileFilter.java",
      "evidence" : "import org.apache.hudi.common.util.collection.Pair;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bloom/ListBasedIndexFileFilter.java",
      "evidence" : "import org.apache.hudi.common.util.collection.Pair;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bloom/IntervalTreeBasedIndexFileFilter.java",
      "evidence" : "import org.apache.hudi.common.util.collection.Pair;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bloom/HoodieBloomIndexCheckFunction.java",
      "evidence" : "import org.apache.hudi.common.util.collection.Pair;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bloom/ListBasedGlobalIndexFileFilter.java",
      "evidence" : "import org.apache.hudi.common.util.collection.Pair;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bloom/IntervalTreeBasedGlobalIndexFileFilter.java",
      "evidence" : "import org.apache.hudi.common.util.collection.Pair;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bloom/BaseHoodieBloomIndexHelper.java",
      "evidence" : "import org.apache.hudi.common.data.HoodiePairData;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/simple/HoodieGlobalSimpleIndex.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/simple/HoodieSimpleIndex.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/inmemory/HoodieInMemoryHashIndex.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieTimeline;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bucket/ConsistentBucketIndexUtils.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/index/bucket/HoodieSparkConsistentBucketIndex.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bucket/ConsistentBucketIdentifier.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bucket/HoodieSimpleBucketIndex.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bucket/HoodieConsistentBucketIndex.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bucket/BucketIdentifier.java",
      "evidence" : "import org.apache.hudi.common.fs.FSUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bucket/HoodieBucketIndex.java",
      "evidence" : "import org.apache.hudi.common.data.HoodieData;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/index/hbase/SparkHoodieHBaseIndex.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/callback/util/HoodieCommitCallbackFactory.java",
      "evidence" : "import org.apache.hudi.common.util.ReflectionUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/callback/common/HoodieWriteCommitCallbackMessage.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/ConcurrentOperation.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/ConflictResolutionStrategy.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/SimpleConcurrentFileWritesConflictResolutionStrategy.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/PreferWriterConflictResolutionStrategy.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/TransactionManager.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/DirectMarkerTransactionManager.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/lock/metrics/HoodieLockMetrics.java",
      "evidence" : "import org.apache.hudi.common.util.HoodieTimer;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/bootstrap/selector/BootstrapModeSelector.java",
      "evidence" : "import org.apache.hudi.common.util.collection.Pair;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/bootstrap/selector/UniformBootstrapModeSelector.java",
      "evidence" : "import org.apache.hudi.common.util.collection.Pair;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/bootstrap/selector/BootstrapRegexModeSelector.java",
      "evidence" : "import org.apache.hudi.common.util.collection.Pair;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/bootstrap/BootstrapRecordPayload.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/bootstrap/HoodieSparkBootstrapSchemaProvider.java",
      "evidence" : "import org.apache.hudi.common.util.AvroOrcUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/bootstrap/FullRecordBootstrapDataProvider.java",
      "evidence" : "import org.apache.hudi.common.util.collection.Pair;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/bootstrap/HoodieBootstrapSchemaProvider.java",
      "evidence" : "import org.apache.hudi.common.util.collection.Pair;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/bootstrap/BootstrapWriteStatus.java",
      "evidence" : "import org.apache.hudi.common.util.collection.Pair;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/bootstrap/BootstrapMode.java",
      "evidence" : "import org.apache.hudi.common.config.EnumDescription;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/bootstrap/translator/DecodedBootstrapPartitionPathTranslator.java",
      "evidence" : "import org.apache.hudi.common.util.PartitionPathEncodeUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/utils/LegacyArchivedMetaEntryReader.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/utils/TransactionUtils.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/utils/MetadataTableUtils.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/utils/ArchivalUtils.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/utils/SparkMetadataWriterUtils.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/utils/SparkValidatorUtils.java",
      "evidence" : "import org.apache.hudi.common.table.TableSchemaResolver;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/utils/DeletePartitionUtils.java",
      "evidence" : "import org.apache.hudi.common.table.view.SyncableFileSystemView;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/utils/MergingIterator.java",
      "evidence" : "import org.apache.hudi.common.util.ValidationUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/utils/ConcatenatingIterator.java",
      "evidence" : "import org.apache.hudi.common.util.ValidationUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/utils/SparkPartitionUtils.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/utils/SparkInternalSchemaConverter.java",
      "evidence" : "import static org.apache.hudi.common.util.StringUtils.getUTF8Bytes;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/utils/ClosableMergingIterator.java",
      "evidence" : "import org.apache.hudi.common.util.collection.ClosableIterator;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/utils/SparkMemoryUtils.java",
      "evidence" : "import org.apache.hudi.common.config.HoodieConfig;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/utils/FileSliceMetricUtils.java",
      "evidence" : "import org.apache.hudi.common.fs.FSUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/heartbeat/HoodieHeartbeatClient.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/heartbeat/HeartbeatUtils.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/timeline/LSMTimelineWriter.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/timeline/HoodieTimelineArchiver.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/timeline/ActiveActionWithDetails.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/embedded/EmbeddedTimelineService.java",
      "evidence" : "import org.apache.hudi.common.table.view.FileSystemViewManager;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/embedded/EmbeddedTimelineServerHelper.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/sort/SpaceCurveSortingHelper.java",
      "evidence" : "import org.apache.hudi.common.util.BinaryUtil;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/merge/SparkRecordMergingUtils.java",
      "evidence" : "import org.apache.hudi.common.util.collection.Pair;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/data/HoodieJavaPairRDD.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/data/HoodieJavaRDD.java",
      "evidence" : "import org.apache.hudi.common.util.collection.MappingIterator;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/data/HoodieSparkLongAccumulator.java",
      "evidence" : "import org.apache.hudi.common.data.HoodieAccumulator;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/validator/SparkPreCommitValidator.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/validator/SqlQueryPreCommitValidator.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/validator/SqlQueryEqualityPreCommitValidator.java",
      "evidence" : "import org.apache.hudi.common.data.HoodieData;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/validator/SqlQuerySingleResultPreCommitValidator.java",
      "evidence" : "import org.apache.hudi.common.data.HoodieData;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/validator/SqlQueryInequalityPreCommitValidator.java",
      "evidence" : "import org.apache.hudi.common.data.HoodieData;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/clustering/update/strategy/SparkConsistentBucketDuplicateUpdateStrategy.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/clustering/update/strategy/SparkRejectUpdateStrategy.java",
      "evidence" : "import org.apache.hudi.common.util.collection.Pair;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/clustering/update/strategy/SparkAllowUpdateStrategy.java",
      "evidence" : "import org.apache.hudi.common.util.collection.Pair;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/clustering/update/strategy/BaseSparkUpdateStrategy.java",
      "evidence" : "import org.apache.hudi.common.data.HoodieData;"
    } ],
    "toComponent" : "hudi-common",
    "count" : 438,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-client -> hudi-common"
  }, {
    "fromComponent" : "hudi-aws",
    "locFrom" : 1457,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-aws/src/main/java/org/apache/hudi/config/DynamoDbBasedLockConfig.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-aws/src/main/java/org/apache/hudi/config/GlueCatalogSyncClientConfig.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-aws/src/main/java/org/apache/hudi/aws/transaction/lock/DynamoDBBasedLockProvider.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-aws/src/main/java/org/apache/hudi/aws/cloudwatch/CloudWatchReporter.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-aws/src/main/java/org/apache/hudi/aws/sync/AWSGlueCatalogSyncClient.java",
      "evidence" : "import org.apache.hudi.common.util.CollectionUtils;"
    }, {
      "pathFrom" : "hudi-aws/src/main/java/org/apache/hudi/aws/credentials/HoodieConfigAWSCredentialsProvider.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-aws/src/main/java/org/apache/hudi/aws/credentials/HoodieConfigAWSAssumedRoleCredentialsProvider.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    } ],
    "toComponent" : "hudi-io",
    "count" : 7,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-aws -> hudi-io"
  }, {
    "fromComponent" : "hudi-client",
    "locFrom" : 34164,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/config/HoodieLockConfig.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/config/HoodieWriteConfig.java",
      "evidence" : "import org.apache.hudi.common.util.ConfigUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/config/HoodieClusteringConfig.java",
      "evidence" : "import org.apache.hudi.common.util.ValidationUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/config/HoodieCleanConfig.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/config/HoodieIndexConfig.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkMergeHandle.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkMergeAndReplaceHandleWithChangeLog.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkMergeHandleWithChangeLog.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkCreateHandle.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkMergeAndReplaceHandle.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieMergeHandleWithChangeLog.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieAppendHandle.java",
      "evidence" : "import org.apache.hudi.common.util.DefaultSizeEstimator;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/IOUtils.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieReadHandle.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieUnboundedCreateHandle.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieWriteHandle.java",
      "evidence" : "import org.apache.hudi.common.util.HoodieTimer;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieSortedMergeHandle.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieConcatHandle.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieBootstrapHandle.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieKeyLookupHandle.java",
      "evidence" : "import org.apache.hudi.common.util.HoodieTimer;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieCDCLogger.java",
      "evidence" : "import org.apache.hudi.common.util.DefaultSizeEstimator;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieMergeHandleFactory.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieKeyLocationFetchHandle.java",
      "evidence" : "import org.apache.hudi.common.util.BaseFileUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieSortedMergeHandleWithChangeLog.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieMergeHandle.java",
      "evidence" : "import org.apache.hudi.common.util.DefaultSizeEstimator;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieMergedReadHandle.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieIOHandle.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieCreateHandle.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/async/AsyncClusteringService.java",
      "evidence" : "import org.apache.hudi.common.util.CustomizedThreadFactory;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/async/AsyncCompactService.java",
      "evidence" : "import org.apache.hudi.common.util.CustomizedThreadFactory;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/keygen/SimpleAvroKeyGenerator.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/keygen/TimestampBasedAvroKeyGenerator.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/keygen/KeyGenUtils.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/keygen/CustomAvroKeyGenerator.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/keygen/TimestampBasedKeyGenerator.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/keygen/UTF8StringPartitionPathFormatter.java",
      "evidence" : "import org.apache.hudi.common.util.PartitionPathEncodeUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/keygen/StringPartitionPathFormatter.java",
      "evidence" : "import org.apache.hudi.common.util.PartitionPathEncodeUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/keygen/PartitionPathFormatterBase.java",
      "evidence" : "import static org.apache.hudi.common.util.ValidationUtils.checkState;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/keygen/CustomKeyGenerator.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/keygen/SimpleKeyGenerator.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/keygen/BuiltinKeyGenerator.java",
      "evidence" : "import static org.apache.hudi.common.util.CollectionUtils.tail;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/index/functional/HoodieSparkFunctionalIndex.java",
      "evidence" : "import org.apache.hudi.common.util.CollectionUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/lock/FileSystemBasedLockProvider.java",
      "evidence" : "import org.apache.hudi.storage.StoragePath;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/metadata/FlinkHoodieBackedTableMetadataWriter.java",
      "evidence" : "import org.apache.hudi.common.metrics.Registry;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/metadata/JavaHoodieBackedTableMetadataWriter.java",
      "evidence" : "import org.apache.hudi.common.metrics.Registry;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/metadata/SparkHoodieBackedTableMetadataWriter.java",
      "evidence" : "import org.apache.hudi.common.metrics.Registry;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/storage/row/HoodieRowDataParquetWriteSupport.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/storage/row/HoodieRowDataCreateHandle.java",
      "evidence" : "import org.apache.hudi.common.util.HoodieTimer;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/io/storage/row/HoodieRowParquetWriteSupport.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/io/storage/row/HoodieRowCreateHandle.java",
      "evidence" : "import org.apache.hudi.common.util.HoodieTimer;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/io/storage/row/HoodieInternalRowFileWriterFactory.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/storage/row/parquet/ParquetRowDataWriter.java",
      "evidence" : "import org.apache.hudi.common.util.ValidationUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/upgrade/TwoToThreeUpgradeHandler.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/upgrade/SixToFiveDowngradeHandler.java",
      "evidence" : "import org.apache.hudi.common.util.FileIOUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/upgrade/ThreeToFourUpgradeHandler.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/upgrade/TwoToOneDowngradeHandler.java",
      "evidence" : "import org.apache.hudi.common.util.MarkerUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/upgrade/ZeroToOneUpgradeHandler.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/upgrade/FourToFiveUpgradeHandler.java",
      "evidence" : "import static org.apache.hudi.common.util.PartitionPathEncodeUtils.DEFAULT_PARTITION_PATH;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/HoodieFlinkTable.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/HoodieFlinkMergeOnReadTable.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/HoodieFlinkCopyOnWriteTable.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/HoodieJavaCopyOnWriteTable.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/HoodieJavaTable.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/HoodieJavaMergeOnReadTable.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/HoodieTable.java",
      "evidence" : "import org.apache.hudi.common.util.Functions;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/BucketIndexBulkInsertPartitioner.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/BulkInsertPartitioner.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/HoodieSparkTable.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/HoodieSparkMergeOnReadTable.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/HoodieSparkCopyOnWriteTable.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/action/commit/BaseFlinkCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.util.CommitUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/action/commit/FlinkDeletePartitionCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.util.HoodieTimer;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/commit/JavaUpsertPartitioner.java",
      "evidence" : "import org.apache.hudi.common.util.NumericUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/commit/JavaBulkInsertPreppedCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/commit/BaseJavaCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.util.CommitUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/commit/JavaBulkInsertHelper.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/commit/JavaBulkInsertCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/HoodieMergeHelper.java",
      "evidence" : "import org.apache.hudi.common.util.InternalSchemaCache;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/BaseBulkInsertHelper.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/BaseWriteHelper.java",
      "evidence" : "import org.apache.hudi.common.util.HoodieRecordUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/BaseCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.util.ClusteringUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/commit/BaseSparkCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.util.CommitUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/commit/SparkInsertOverwriteCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/commit/ConsistentBucketBulkInsertDataInternalWriterHelper.java",
      "evidence" : "import org.apache.hudi.common.util.ValidationUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/commit/SparkBucketIndexPartitioner.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/commit/SparkBulkInsertHelper.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/commit/SparkDeletePartitionCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.util.HoodieTimer;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/commit/SparkBulkInsertCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/commit/BulkInsertDataInternalWriterHelper.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/commit/UpsertPartitioner.java",
      "evidence" : "import org.apache.hudi.common.util.CollectionUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/commit/SparkBulkInsertPreppedCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/compact/HoodieCompactor.java",
      "evidence" : "import org.apache.hudi.common.util.CollectionUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/compact/CompactHelpers.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/compact/RunCompactionActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.util.CompactionUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/compact/LogCompactionExecutionHelper.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/compact/CompactionExecutionHelper.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/compact/OperationResult.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/compact/ScheduleCompactionActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.util.CompactionUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/execution/ExplicitWriteHandler.java",
      "evidence" : "import static org.apache.hudi.common.util.ValidationUtils.checkState;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/execution/FlinkLazyInsertIterable.java",
      "evidence" : "import static org.apache.hudi.common.util.ValidationUtils.checkState;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/execution/JavaLazyInsertIterable.java",
      "evidence" : "import static org.apache.hudi.common.util.ValidationUtils.checkState;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/execution/CopyOnWriteInsertHandler.java",
      "evidence" : "import static org.apache.hudi.common.util.ValidationUtils.checkState;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/index/FlinkHoodieIndexFactory.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/index/JavaHoodieIndexFactory.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/HoodieIndexUtils.java",
      "evidence" : "import org.apache.hudi.common.util.HoodieTimer;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/index/SparkMetadataTableRecordIndex.java",
      "evidence" : "import org.apache.hudi.common.util.ValidationUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/index/SparkHoodieIndexFactory.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/SparkRDDWriteClient.java",
      "evidence" : "import org.apache.hudi.common.metrics.Registry;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/client/HoodieFlinkTableServiceClient.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/client/HoodieFlinkWriteClient.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/client/FlinkTaskContextSupplier.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/client/HoodieJavaTableServiceClient.java",
      "evidence" : "import org.apache.hudi.common.util.ClusteringUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/client/HoodieJavaWriteClient.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/FailOnFirstErrorWriteStatus.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/BaseHoodieWriteClient.java",
      "evidence" : "import org.apache.hudi.common.util.CleanerUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/BaseHoodieClient.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/BaseHoodieTableServiceClient.java",
      "evidence" : "import org.apache.hudi.common.util.CleanerUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/CompactionAdminClient.java",
      "evidence" : "import org.apache.hudi.common.util.CompactionUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/WriteStatus.java",
      "evidence" : "import org.apache.hudi.common.util.DateTimeUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/HoodieTableServiceManagerClient.java",
      "evidence" : "import org.apache.hudi.common.util.ClusteringUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/SparkRDDReadClient.java",
      "evidence" : "import org.apache.hudi.common.util.CompactionUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/SparkTaskContextSupplier.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/HoodieSparkCompactor.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/HoodieSparkClusteringClient.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/SparkRDDTableServiceClient.java",
      "evidence" : "import org.apache.hudi.common.util.ClusteringUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/client/clustering/plan/strategy/FlinkSizeBasedClusteringPlanStrategyRecently.java",
      "evidence" : "import org.apache.hudi.common.util.CollectionUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/client/clustering/plan/strategy/FlinkSizeBasedClusteringPlanStrategy.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/client/clustering/plan/strategy/JavaSizeBasedClusteringPlanStrategy.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/clustering/plan/strategy/SparkSizeBasedClusteringPlanStrategy.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/client/common/HoodieFlinkEngineContext.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/client/common/JavaTaskContextSupplier.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/client/common/HoodieJavaEngineContext.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/common/HoodieSparkEngineContext.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/cluster/JavaExecuteClusteringCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.util.ClusteringUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/cluster/ClusteringPlanActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/cluster/SparkExecuteClusteringCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.util.ClusteringUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/deltacommit/JavaUpsertPreppedDeltaCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/deltacommit/SparkBulkInsertPreppedDeltaCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/deltacommit/SparkBulkInsertDeltaCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/deltacommit/BaseSparkDeltaCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/execution/bulkinsert/RowRecordKeyExtractor.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/execution/bulkinsert/RDDSpatialCurveSortPartitioner.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/execution/bulkinsert/RDDConsistentBucketBulkInsertPartitioner.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/execution/bulkinsert/ConsistentBucketIndexBulkInsertPartitionerWithRows.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/execution/bulkinsert/RDDSimpleBucketBulkInsertPartitioner.java",
      "evidence" : "import org.apache.hudi.common.util.ValidationUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/client/clustering/run/strategy/JavaExecutionStrategy.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/clustering/run/strategy/MultipleSparkJobExecutionStrategy.java",
      "evidence" : "import org.apache.hudi.common.util.CollectionUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/clustering/run/strategy/ExecutionStrategyUtil.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/clustering/run/strategy/SingleSparkJobExecutionStrategy.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metrics/Metrics.java",
      "evidence" : "import org.apache.hudi.common.metrics.Registry;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/metrics/DistributedRegistry.java",
      "evidence" : "import org.apache.hudi.common.metrics.Registry;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metrics/JmxReporterServer.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metrics/HoodieMetrics.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metrics/MetricsReporterFactory.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metrics/MetricUtils.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metrics/datadog/DatadogReporter.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metrics/datadog/DatadogMetricsReporter.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metrics/datadog/DatadogHttpClient.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metrics/prometheus/PushGatewayMetricsReporter.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metrics/prometheus/PrometheusReporter.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/config/metrics/HoodieMetricsConfig.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/keygen/parser/HoodieDateTimeParser.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/keygen/parser/BaseHoodieDateTimeParser.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/keygen/factory/HoodieAvroKeyGeneratorFactory.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/keygen/factory/HoodieSparkKeyGeneratorFactory.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/storage/HoodieConsistentBucketLayout.java",
      "evidence" : "import org.apache.hudi.common.util.CollectionUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/storage/HoodieSimpleBucketLayout.java",
      "evidence" : "import org.apache.hudi.common.util.CollectionUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/storage/HoodieStorageLayout.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/storage/HoodieDefaultLayout.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/cluster/util/ConsistentHashingUpdateStrategyUtils.java",
      "evidence" : "import org.apache.hudi.common.util.ClusteringUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/cluster/strategy/BaseConsistentHashingBucketClusteringPlanStrategy.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/cluster/strategy/PartitionAwareClusteringPlanStrategy.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/cluster/strategy/ClusteringPlanStrategy.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/compact/plan/generators/HoodieCompactionPlanGenerator.java",
      "evidence" : "import org.apache.hudi.common.util.CompactionUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/compact/plan/generators/HoodieLogCompactionPlanGenerator.java",
      "evidence" : "import org.apache.hudi.common.util.CompactionUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/compact/plan/generators/BaseHoodieCompactionPlanGenerator.java",
      "evidence" : "import org.apache.hudi.common.util.CollectionUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/compact/strategy/CompactionStrategy.java",
      "evidence" : "import org.apache.hudi.common.util.CompactionUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/bootstrap/HoodieBootstrapWriteMetadata.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/bootstrap/OrcBootstrapMetadataHandler.java",
      "evidence" : "import org.apache.hudi.common.util.AvroOrcUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/bootstrap/SparkBootstrapDeltaCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/bootstrap/SparkBootstrapCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.util.CommitUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/bootstrap/ParquetBootstrapMetadataHandler.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/ttl/strategy/KeepByTimeStrategy.java",
      "evidence" : "import org.apache.hudi.common.util.HoodieTimer;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/ttl/strategy/HoodiePartitionTTLStrategyFactory.java",
      "evidence" : "import org.apache.hudi.common.util.ReflectionUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/ttl/strategy/KeepByCreationTimeStrategy.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/ttl/strategy/PartitionTTLStrategy.java",
      "evidence" : "import org.apache.hudi.common.util.HoodieTimer;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/BaseActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/HoodieWriteMetadata.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/clean/CleanPlanner.java",
      "evidence" : "import org.apache.hudi.common.util.CleanerUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/clean/CleanPlanActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.util.CleanerUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/clean/CleanActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.util.CleanerUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/index/RunIndexActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.metrics.Registry;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/index/AbstractIndexingCatchupTask.java",
      "evidence" : "import org.apache.hudi.common.util.CleanerUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/index/ScheduleIndexActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/index/functional/BaseHoodieFunctionalIndexClient.java",
      "evidence" : "import org.apache.hudi.storage.StoragePath;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/savepoint/SavepointActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/savepoint/SavepointHelpers.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/BaseRollbackPlanActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/BaseRollbackActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.util.ClusteringUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/CopyOnWriteRollbackActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.util.HoodieTimer;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/MergeOnReadRollbackActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.util.HoodieTimer;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/ListingBasedRollbackStrategy.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/ListingBasedRollbackRequest.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/RollbackUtils.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/RestorePlanActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.util.ClusteringUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/restore/RestoreUtils.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/restore/BaseRestoreActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.util.HoodieTimer;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/marker/WriteMarkersFactory.java",
      "evidence" : "import org.apache.hudi.storage.StorageSchemes;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/marker/SimpleDirectMarkerBasedDetectionStrategy.java",
      "evidence" : "import org.apache.hudi.common.util.MarkerUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/marker/TimelineServerBasedWriteMarkers.java",
      "evidence" : "import org.apache.hudi.common.util.HoodieTimer;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/marker/DirectWriteMarkers.java",
      "evidence" : "import org.apache.hudi.common.util.HoodieTimer;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/marker/WriteMarkers.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/marker/MarkerBasedRollbackUtils.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/repair/RepairUtils.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bloom/HoodieBloomIndex.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bloom/ListBasedHoodieBloomIndexHelper.java",
      "evidence" : "import org.apache.hudi.common.util.CollectionUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/index/bloom/BucketizedBloomCheckPartitioner.java",
      "evidence" : "import org.apache.hudi.common.util.NumericUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/index/bloom/HoodieFileProbingFunction.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/index/bloom/HoodieMetadataBloomFilterProbingFunction.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/simple/HoodieSimpleIndex.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/simple/HoodieGlobalSimpleIndex.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/inmemory/HoodieInMemoryHashIndex.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bucket/ConsistentBucketIdentifier.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bucket/HoodieSimpleBucketIndex.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bucket/HoodieConsistentBucketIndex.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bucket/ConsistentBucketIndexUtils.java",
      "evidence" : "import org.apache.hudi.common.util.FileIOUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/index/bucket/HoodieSparkConsistentBucketIndex.java",
      "evidence" : "import org.apache.hudi.common.util.ClusteringUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/index/hbase/SparkHoodieHBaseIndex.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/callback/util/HoodieCommitCallbackFactory.java",
      "evidence" : "import org.apache.hudi.common.util.ReflectionUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/callback/common/HoodieWriteCommitCallbackMessage.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/TransactionManager.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/ConcurrentOperation.java",
      "evidence" : "import org.apache.hudi.common.util.CommitUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/DirectMarkerTransactionManager.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/ConflictResolutionStrategy.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/SimpleConcurrentFileWritesConflictResolutionStrategy.java",
      "evidence" : "import org.apache.hudi.common.util.CollectionUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/PreferWriterConflictResolutionStrategy.java",
      "evidence" : "import org.apache.hudi.common.util.ClusteringUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/lock/metrics/HoodieLockMetrics.java",
      "evidence" : "import org.apache.hudi.common.util.HoodieTimer;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/bootstrap/BootstrapRecordPayload.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/bootstrap/HoodieSparkBootstrapSchemaProvider.java",
      "evidence" : "import org.apache.hudi.common.util.AvroOrcUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/bootstrap/translator/DecodedBootstrapPartitionPathTranslator.java",
      "evidence" : "import org.apache.hudi.common.util.PartitionPathEncodeUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/utils/SparkMetadataWriterUtils.java",
      "evidence" : "import org.apache.hudi.storage.StoragePath;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/utils/LegacyArchivedMetaEntryReader.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/utils/TransactionUtils.java",
      "evidence" : "import org.apache.hudi.common.util.CollectionUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/utils/MergingIterator.java",
      "evidence" : "import org.apache.hudi.common.util.ValidationUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/utils/ArchivalUtils.java",
      "evidence" : "import org.apache.hudi.common.util.CleanerUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/utils/ConcatenatingIterator.java",
      "evidence" : "import org.apache.hudi.common.util.ValidationUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/utils/SparkValidatorUtils.java",
      "evidence" : "import org.apache.hudi.common.util.ReflectionUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/utils/SparkPartitionUtils.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/utils/SparkInternalSchemaConverter.java",
      "evidence" : "import static org.apache.hudi.common.util.StringUtils.getUTF8Bytes;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/heartbeat/HoodieHeartbeatClient.java",
      "evidence" : "import org.apache.hudi.storage.StoragePath;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/heartbeat/HeartbeatUtils.java",
      "evidence" : "import org.apache.hudi.storage.StoragePath;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/timeline/LSMTimelineWriter.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/timeline/HoodieTimelineArchiver.java",
      "evidence" : "import org.apache.hudi.common.util.ClusteringUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/timeline/ActiveActionWithDetails.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/embedded/EmbeddedTimelineService.java",
      "evidence" : "import org.apache.hudi.common.metrics.Registry;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/embedded/EmbeddedTimelineServerHelper.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/sort/SpaceCurveSortingHelper.java",
      "evidence" : "import org.apache.hudi.common.util.BinaryUtil;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/data/HoodieJavaPairRDD.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/validator/SparkPreCommitValidator.java",
      "evidence" : "import org.apache.hudi.common.util.HoodieTimer;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/validator/SqlQueryPreCommitValidator.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/clustering/update/strategy/SparkConsistentBucketDuplicateUpdateStrategy.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    } ],
    "toComponent" : "hudi-io",
    "count" : 261,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-client -> hudi-io"
  }, {
    "fromComponent" : "hudi-aws",
    "locFrom" : 168,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-aws/src/main/java/org/apache/hudi/aws/transaction/lock/DynamoDBBasedLockProvider.java",
      "evidence" : "import org.apache.hudi.exception.HoodieLockException;"
    } ],
    "toComponent" : "hudi-client",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-aws -> hudi-client"
  }, {
    "fromComponent" : "hudi-aws",
    "locFrom" : 843,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-aws/src/main/java/org/apache/hudi/aws/sync/util/GluePartitionFilterGenerator.java",
      "evidence" : "import org.apache.hudi.hive.util.PartitionFilterGenerator;"
    }, {
      "pathFrom" : "hudi-aws/src/main/java/org/apache/hudi/aws/sync/util/GlueFilterGenVisitor.java",
      "evidence" : "import org.apache.hudi.hive.util.FilterGenVisitor;"
    }, {
      "pathFrom" : "hudi-aws/src/main/java/org/apache/hudi/aws/sync/AWSGlueCatalogSyncClient.java",
      "evidence" : "import org.apache.hudi.hive.HiveSyncConfig;"
    }, {
      "pathFrom" : "hudi-aws/src/main/java/org/apache/hudi/aws/sync/AwsGlueCatalogSyncTool.java",
      "evidence" : "import org.apache.hudi.hive.HiveSyncConfig;"
    }, {
      "pathFrom" : "hudi-aws/src/main/java/org/apache/hudi/aws/sync/HoodieGlueSyncException.java",
      "evidence" : "import org.apache.hudi.hive.HoodieHiveSyncException;"
    } ],
    "toComponent" : "hudi-sync",
    "count" : 5,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-aws -> hudi-sync"
  }, {
    "fromComponent" : "hudi-aws",
    "locFrom" : 32,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-aws/src/main/java/org/apache/hudi/aws/sync/AwsGlueCatalogSyncTool.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    } ],
    "toComponent" : "hudi-hadoop-common",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-aws -> hudi-hadoop-common"
  }, {
    "fromComponent" : "hudi-kafka-connect",
    "locFrom" : 1302,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-kafka-connect/src/main/java/org/apache/hudi/connect/transaction/ConnectTransactionCoordinator.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-kafka-connect/src/main/java/org/apache/hudi/connect/transaction/ConnectTransactionParticipant.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-kafka-connect/src/main/java/org/apache/hudi/connect/writers/BufferedConnectWriter.java",
      "evidence" : "import org.apache.hudi.io.IOUtils;"
    }, {
      "pathFrom" : "hudi-kafka-connect/src/main/java/org/apache/hudi/connect/writers/KafkaConnectTransactionServices.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-kafka-connect/src/main/java/org/apache/hudi/connect/writers/AbstractConnectWriter.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-kafka-connect/src/main/java/org/apache/hudi/connect/writers/KafkaConnectWriterProvider.java",
      "evidence" : "import org.apache.hudi.common.util.ReflectionUtils;"
    }, {
      "pathFrom" : "hudi-kafka-connect/src/main/java/org/apache/hudi/connect/KafkaConnectFileIdPrefixProvider.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-kafka-connect/src/main/java/org/apache/hudi/connect/HoodieSinkTask.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-kafka-connect/src/main/java/org/apache/hudi/connect/utils/KafkaConnectUtils.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    } ],
    "toComponent" : "hudi-io",
    "count" : 9,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-kafka-connect -> hudi-io"
  }, {
    "fromComponent" : "hudi-kafka-connect",
    "locFrom" : 1486,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-kafka-connect/src/main/java/org/apache/hudi/connect/transaction/ConnectTransactionCoordinator.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-kafka-connect/src/main/java/org/apache/hudi/connect/transaction/ConnectTransactionParticipant.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-kafka-connect/src/main/java/org/apache/hudi/connect/writers/KafkaConnectTransactionServices.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-kafka-connect/src/main/java/org/apache/hudi/connect/writers/BufferedConnectWriter.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-kafka-connect/src/main/java/org/apache/hudi/connect/writers/AbstractConnectWriter.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-kafka-connect/src/main/java/org/apache/hudi/connect/writers/KafkaConnectWriterProvider.java",
      "evidence" : "import org.apache.hudi.common.util.ReflectionUtils;"
    }, {
      "pathFrom" : "hudi-kafka-connect/src/main/java/org/apache/hudi/connect/writers/KafkaConnectConfigs.java",
      "evidence" : "import org.apache.hudi.common.config.ConfigClassProperty;"
    }, {
      "pathFrom" : "hudi-kafka-connect/src/main/java/org/apache/hudi/connect/KafkaConnectFileIdPrefixProvider.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-kafka-connect/src/main/java/org/apache/hudi/connect/HoodieSinkTask.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-kafka-connect/src/main/java/org/apache/hudi/connect/utils/KafkaConnectUtils.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    } ],
    "toComponent" : "hudi-common",
    "count" : 10,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-kafka-connect -> hudi-common"
  }, {
    "fromComponent" : "hudi-kafka-connect",
    "locFrom" : 1312,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-kafka-connect/src/main/java/org/apache/hudi/connect/transaction/ConnectTransactionCoordinator.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-kafka-connect/src/main/java/org/apache/hudi/connect/transaction/ConnectTransactionParticipant.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-kafka-connect/src/main/java/org/apache/hudi/connect/writers/KafkaConnectTransactionServices.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-kafka-connect/src/main/java/org/apache/hudi/connect/writers/KafkaConnectWriterProvider.java",
      "evidence" : "import org.apache.hudi.config.HoodieArchivalConfig;"
    }, {
      "pathFrom" : "hudi-kafka-connect/src/main/java/org/apache/hudi/connect/writers/BufferedConnectWriter.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-kafka-connect/src/main/java/org/apache/hudi/connect/writers/AbstractConnectWriter.java",
      "evidence" : "import org.apache.hudi.keygen.KeyGenerator;"
    }, {
      "pathFrom" : "hudi-kafka-connect/src/main/java/org/apache/hudi/connect/writers/ConnectTransactionServices.java",
      "evidence" : "import org.apache.hudi.client.WriteStatus;"
    }, {
      "pathFrom" : "hudi-kafka-connect/src/main/java/org/apache/hudi/connect/KafkaConnectFileIdPrefixProvider.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-kafka-connect/src/main/java/org/apache/hudi/connect/HoodieSinkTask.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-kafka-connect/src/main/java/org/apache/hudi/connect/utils/KafkaConnectUtils.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    } ],
    "toComponent" : "hudi-client",
    "count" : 10,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-kafka-connect -> hudi-client"
  }, {
    "fromComponent" : "hudi-kafka-connect",
    "locFrom" : 127,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-kafka-connect/src/main/java/org/apache/hudi/connect/writers/KafkaConnectTransactionServices.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    } ],
    "toComponent" : "hudi-hadoop-common",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-kafka-connect -> hudi-hadoop-common"
  }, {
    "fromComponent" : "hudi-kafka-connect",
    "locFrom" : 299,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-kafka-connect/src/main/java/org/apache/hudi/connect/writers/KafkaConnectTransactionServices.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-kafka-connect/src/main/java/org/apache/hudi/connect/writers/KafkaConnectWriterProvider.java",
      "evidence" : "import org.apache.hudi.config.HoodieArchivalConfig;"
    }, {
      "pathFrom" : "hudi-kafka-connect/src/main/java/org/apache/hudi/connect/writers/BufferedConnectWriter.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    } ],
    "toComponent" : "hudi-aws",
    "count" : 3,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-kafka-connect -> hudi-aws"
  }, {
    "fromComponent" : "hudi-kafka-connect",
    "locFrom" : 311,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-kafka-connect/src/main/java/org/apache/hudi/connect/writers/KafkaConnectConfigs.java",
      "evidence" : "import org.apache.hudi.hive.HiveSyncTool;"
    }, {
      "pathFrom" : "hudi-kafka-connect/src/main/java/org/apache/hudi/connect/writers/KafkaConnectTransactionServices.java",
      "evidence" : "import org.apache.hudi.sync.common.HoodieSyncConfig;"
    } ],
    "toComponent" : "hudi-sync",
    "count" : 2,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-kafka-connect -> hudi-sync"
  }, {
    "fromComponent" : "hudi-kafka-connect",
    "locFrom" : 395,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-kafka-connect/src/main/java/org/apache/hudi/connect/writers/KafkaConnectTransactionServices.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-kafka-connect/src/main/java/org/apache/hudi/connect/writers/BufferedConnectWriter.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-kafka-connect/src/main/java/org/apache/hudi/connect/utils/KafkaConnectUtils.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    } ],
    "toComponent" : "hudi-platform-service",
    "count" : 3,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-kafka-connect -> hudi-platform-service"
  }, {
    "fromComponent" : "hudi-kafka-connect",
    "locFrom" : 66,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-kafka-connect/src/main/java/org/apache/hudi/connect/writers/AbstractConnectWriter.java",
      "evidence" : "import org.apache.hudi.utilities.sources.helpers.AvroConvertor;"
    } ],
    "toComponent" : "hudi-utilities",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-kafka-connect -> hudi-utilities"
  }, {
    "fromComponent" : "hudi-kafka-connect",
    "locFrom" : 450,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-kafka-connect/src/main/java/org/apache/hudi/connect/writers/AbstractConnectWriter.java",
      "evidence" : "import org.apache.hudi.schema.SchemaProvider;"
    }, {
      "pathFrom" : "hudi-kafka-connect/src/main/java/org/apache/hudi/connect/writers/KafkaConnectWriterProvider.java",
      "evidence" : "import org.apache.hudi.schema.SchemaProvider;"
    }, {
      "pathFrom" : "hudi-kafka-connect/src/main/java/org/apache/hudi/connect/writers/BufferedConnectWriter.java",
      "evidence" : "import org.apache.hudi.schema.SchemaProvider;"
    }, {
      "pathFrom" : "hudi-kafka-connect/src/main/java/org/apache/hudi/connect/writers/KafkaConnectConfigs.java",
      "evidence" : "import org.apache.hudi.schema.FilebasedSchemaProvider;"
    }, {
      "pathFrom" : "hudi-kafka-connect/src/main/java/org/apache/hudi/connect/KafkaConnectFileIdPrefixProvider.java",
      "evidence" : "import org.apache.hudi.table.FileIdPrefixProvider;"
    } ],
    "toComponent" : "hudi-flink-datasource",
    "count" : 5,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-kafka-connect -> hudi-flink-datasource"
  }, {
    "fromComponent" : "hudi-sync",
    "locFrom" : 940,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-sync/hudi-adb-sync/src/main/java/org/apache/hudi/sync/adb/AdbSyncTool.java",
      "evidence" : "import org.apache.hudi.hadoop.utils.HoodieInputFormatUtils;"
    }, {
      "pathFrom" : "hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/HiveSyncTool.java",
      "evidence" : "import static org.apache.hudi.hadoop.utils.HoodieInputFormatUtils.getInputFormatClassName;"
    }, {
      "pathFrom" : "hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/HoodieHiveSyncClient.java",
      "evidence" : "import static org.apache.hudi.hadoop.utils.HoodieHiveUtils.GLOBALLY_CONSISTENT_READ_TIMESTAMP;"
    } ],
    "toComponent" : "hudi-hadoop-mr",
    "count" : 3,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-sync -> hudi-hadoop-mr"
  }, {
    "fromComponent" : "hudi-sync",
    "locFrom" : 4058,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-sync/hudi-adb-sync/src/main/java/org/apache/hudi/sync/adb/AdbSyncConfig.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-sync/hudi-adb-sync/src/main/java/org/apache/hudi/sync/adb/AdbSyncTool.java",
      "evidence" : "import org.apache.hudi.common.util.ConfigUtils;"
    }, {
      "pathFrom" : "hudi-sync/hudi-adb-sync/src/main/java/org/apache/hudi/sync/adb/HoodieAdbJdbcClient.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/HiveSyncTool.java",
      "evidence" : "import org.apache.hudi.common.util.ConfigUtils;"
    }, {
      "pathFrom" : "hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/MultiPartKeysValueExtractor.java",
      "evidence" : "import org.apache.hudi.common.util.ValidationUtils;"
    }, {
      "pathFrom" : "hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/HiveSyncConfig.java",
      "evidence" : "import org.apache.hudi.common.util.ValidationUtils;"
    }, {
      "pathFrom" : "hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/HoodieHiveSyncClient.java",
      "evidence" : "import org.apache.hudi.common.util.ConfigUtils;"
    }, {
      "pathFrom" : "hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/transaction/lock/HiveMetastoreBasedLockProvider.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/util/HivePartitionUtil.java",
      "evidence" : "import org.apache.hudi.common.util.PartitionPathEncodeUtils;"
    }, {
      "pathFrom" : "hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/util/PartitionFilterGenerator.java",
      "evidence" : "import org.apache.hudi.common.util.ReflectionUtils;"
    }, {
      "pathFrom" : "hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/ddl/QueryBasedDDLExecutor.java",
      "evidence" : "import org.apache.hudi.storage.StorageSchemes;"
    }, {
      "pathFrom" : "hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/ddl/HMSDDLExecutor.java",
      "evidence" : "import org.apache.hudi.storage.StorageSchemes;"
    }, {
      "pathFrom" : "hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/ddl/HiveQueryDDLExecutor.java",
      "evidence" : "import org.apache.hudi.common.util.HoodieTimer;"
    }, {
      "pathFrom" : "hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/replication/GlobalHiveSyncTool.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/replication/ReplicationStateSync.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/replication/HiveSyncGlobalCommitParams.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-sync/hudi-datahub-sync/src/main/java/org/apache/hudi/sync/datahub/config/DataHubSyncConfig.java",
      "evidence" : "import org.apache.hudi.common.util.ReflectionUtils;"
    }, {
      "pathFrom" : "hudi-sync/hudi-datahub-sync/src/main/java/org/apache/hudi/sync/datahub/DataHubSyncClient.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-sync/hudi-sync-common/src/main/java/org/apache/hudi/sync/common/HoodieSyncConfig.java",
      "evidence" : "import org.apache.hudi.common.util.ConfigUtils;"
    }, {
      "pathFrom" : "hudi-sync/hudi-sync-common/src/main/java/org/apache/hudi/sync/common/HoodieMetaSyncOperations.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-sync/hudi-sync-common/src/main/java/org/apache/hudi/sync/common/HoodieSyncTool.java",
      "evidence" : "import org.apache.hudi.common.util.ConfigUtils;"
    }, {
      "pathFrom" : "hudi-sync/hudi-sync-common/src/main/java/org/apache/hudi/sync/common/HoodieSyncClient.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-sync/hudi-sync-common/src/main/java/org/apache/hudi/sync/common/util/Parquet2SparkSchemaUtils.java",
      "evidence" : "import org.apache.hudi.common.util.ValidationUtils;"
    }, {
      "pathFrom" : "hudi-sync/hudi-sync-common/src/main/java/org/apache/hudi/sync/common/util/SyncUtilHelpers.java",
      "evidence" : "import org.apache.hudi.common.util.ReflectionUtils;"
    }, {
      "pathFrom" : "hudi-sync/hudi-sync-common/src/main/java/org/apache/hudi/sync/common/util/ManifestFileWriter.java",
      "evidence" : "import org.apache.hudi.common.util.ValidationUtils;"
    }, {
      "pathFrom" : "hudi-sync/hudi-sync-common/src/main/java/org/apache/hudi/sync/common/util/SparkDataSourceTableUtils.java",
      "evidence" : "import org.apache.hudi.common.util.ConfigUtils;"
    }, {
      "pathFrom" : "hudi-sync/hudi-sync-common/src/main/java/org/apache/hudi/sync/common/model/FieldSchema.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    } ],
    "toComponent" : "hudi-io",
    "count" : 27,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-sync -> hudi-io"
  }, {
    "fromComponent" : "hudi-sync",
    "locFrom" : 4329,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-sync/hudi-adb-sync/src/main/java/org/apache/hudi/sync/adb/AdbSyncConfig.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-sync/hudi-adb-sync/src/main/java/org/apache/hudi/sync/adb/AdbSyncTool.java",
      "evidence" : "import org.apache.hudi.common.util.ConfigUtils;"
    }, {
      "pathFrom" : "hudi-sync/hudi-adb-sync/src/main/java/org/apache/hudi/sync/adb/HoodieAdbJdbcClient.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/HoodieHiveSyncClient.java",
      "evidence" : "import org.apache.hudi.common.table.TableSchemaResolver;"
    }, {
      "pathFrom" : "hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/HiveSyncTool.java",
      "evidence" : "import org.apache.hudi.common.util.ConfigUtils;"
    }, {
      "pathFrom" : "hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/MultiPartKeysValueExtractor.java",
      "evidence" : "import org.apache.hudi.common.util.ValidationUtils;"
    }, {
      "pathFrom" : "hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/HiveSyncConfig.java",
      "evidence" : "import org.apache.hudi.common.util.ValidationUtils;"
    }, {
      "pathFrom" : "hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/HiveSyncConfigHolder.java",
      "evidence" : "import org.apache.hudi.common.config.ConfigProperty;"
    }, {
      "pathFrom" : "hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/transaction/lock/HiveMetastoreBasedLockProvider.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/util/HivePartitionUtil.java",
      "evidence" : "import org.apache.hudi.common.util.PartitionPathEncodeUtils;"
    }, {
      "pathFrom" : "hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/util/PartitionFilterGenerator.java",
      "evidence" : "import org.apache.hudi.common.util.ReflectionUtils;"
    }, {
      "pathFrom" : "hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/util/FilterGenVisitor.java",
      "evidence" : "import org.apache.hudi.internal.schema.Types;"
    }, {
      "pathFrom" : "hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/ddl/QueryBasedDDLExecutor.java",
      "evidence" : "import org.apache.hudi.common.util.PartitionPathEncodeUtils;"
    }, {
      "pathFrom" : "hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/ddl/HMSDDLExecutor.java",
      "evidence" : "import org.apache.hudi.common.util.CollectionUtils;"
    }, {
      "pathFrom" : "hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/ddl/HiveQueryDDLExecutor.java",
      "evidence" : "import org.apache.hudi.common.util.HoodieTimer;"
    }, {
      "pathFrom" : "hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/ddl/DDLExecutor.java",
      "evidence" : "import org.apache.hudi.common.util.collection.Pair;"
    }, {
      "pathFrom" : "hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/replication/GlobalHiveSyncTool.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/replication/ReplicationStateSync.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/replication/HiveSyncGlobalCommitParams.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/replication/GlobalHiveSyncConfig.java",
      "evidence" : "import org.apache.hudi.common.config.ConfigClassProperty;"
    }, {
      "pathFrom" : "hudi-sync/hudi-datahub-sync/src/main/java/org/apache/hudi/sync/datahub/config/DataHubSyncConfig.java",
      "evidence" : "import org.apache.hudi.common.util.ReflectionUtils;"
    }, {
      "pathFrom" : "hudi-sync/hudi-datahub-sync/src/main/java/org/apache/hudi/sync/datahub/DataHubSyncClient.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-sync/hudi-sync-common/src/main/java/org/apache/hudi/sync/common/HoodieSyncConfig.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-sync/hudi-sync-common/src/main/java/org/apache/hudi/sync/common/HoodieSyncClient.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-sync/hudi-sync-common/src/main/java/org/apache/hudi/sync/common/HoodieMetaSyncOperations.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-sync/hudi-sync-common/src/main/java/org/apache/hudi/sync/common/HoodieSyncTool.java",
      "evidence" : "import org.apache.hudi.common.util.ConfigUtils;"
    }, {
      "pathFrom" : "hudi-sync/hudi-sync-common/src/main/java/org/apache/hudi/sync/common/util/ManifestFileWriter.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-sync/hudi-sync-common/src/main/java/org/apache/hudi/sync/common/util/Parquet2SparkSchemaUtils.java",
      "evidence" : "import org.apache.hudi.common.util.ValidationUtils;"
    }, {
      "pathFrom" : "hudi-sync/hudi-sync-common/src/main/java/org/apache/hudi/sync/common/util/SyncUtilHelpers.java",
      "evidence" : "import org.apache.hudi.common.util.ReflectionUtils;"
    }, {
      "pathFrom" : "hudi-sync/hudi-sync-common/src/main/java/org/apache/hudi/sync/common/util/SparkDataSourceTableUtils.java",
      "evidence" : "import org.apache.hudi.common.util.ConfigUtils;"
    }, {
      "pathFrom" : "hudi-sync/hudi-sync-common/src/main/java/org/apache/hudi/sync/common/model/FieldSchema.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    } ],
    "toComponent" : "hudi-common",
    "count" : 31,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-sync -> hudi-common"
  }, {
    "fromComponent" : "hudi-sync",
    "locFrom" : 2083,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-sync/hudi-adb-sync/src/main/java/org/apache/hudi/sync/adb/HoodieAdbJdbcClient.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-sync/hudi-adb-sync/src/main/java/org/apache/hudi/sync/adb/AdbSyncTool.java",
      "evidence" : "import org.apache.hudi.common.model.HoodieFileFormat;"
    }, {
      "pathFrom" : "hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/HiveSyncTool.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/HiveSyncConfigHolder.java",
      "evidence" : "import org.apache.hudi.common.model.HoodieSyncTableStrategy;"
    }, {
      "pathFrom" : "hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/HoodieHiveSyncClient.java",
      "evidence" : "import org.apache.hudi.common.model.HoodieFileFormat;"
    }, {
      "pathFrom" : "hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/transaction/lock/HiveMetastoreBasedLockProvider.java",
      "evidence" : "import org.apache.hudi.exception.HoodieLockException;"
    }, {
      "pathFrom" : "hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/replication/GlobalHiveSyncTool.java",
      "evidence" : "import org.apache.hudi.common.model.HoodieTableType;"
    }, {
      "pathFrom" : "hudi-sync/hudi-sync-common/src/main/java/org/apache/hudi/sync/common/HoodieSyncClient.java",
      "evidence" : "import org.apache.hudi.common.model.HoodieTableType;"
    }, {
      "pathFrom" : "hudi-sync/hudi-sync-common/src/main/java/org/apache/hudi/sync/common/util/SyncUtilHelpers.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-sync/hudi-sync-common/src/main/java/org/apache/hudi/sync/common/util/ManifestFileWriter.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    } ],
    "toComponent" : "hudi-client",
    "count" : 10,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-sync -> hudi-client"
  }, {
    "fromComponent" : "hudi-sync",
    "locFrom" : 1039,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/HoodieHiveSyncClient.java",
      "evidence" : "import org.apache.hudi.common.table.TableSchemaResolver;"
    }, {
      "pathFrom" : "hudi-sync/hudi-datahub-sync/src/main/java/org/apache/hudi/sync/datahub/DataHubSyncClient.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-sync/hudi-sync-common/src/main/java/org/apache/hudi/sync/common/HoodieSyncConfig.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-sync/hudi-sync-common/src/main/java/org/apache/hudi/sync/common/HoodieSyncClient.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-sync/hudi-sync-common/src/main/java/org/apache/hudi/sync/common/util/ManifestFileWriter.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    } ],
    "toComponent" : "hudi-platform-service",
    "count" : 5,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-sync -> hudi-platform-service"
  }, {
    "fromComponent" : "hudi-sync",
    "locFrom" : 402,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-sync/hudi-sync-common/src/main/java/org/apache/hudi/sync/common/HoodieSyncConfig.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-sync/hudi-sync-common/src/main/java/org/apache/hudi/sync/common/HoodieSyncClient.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.CachingPath;"
    } ],
    "toComponent" : "hudi-hadoop-common",
    "count" : 2,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-sync -> hudi-hadoop-common"
  }, {
    "fromComponent" : "hudi-platform-service",
    "locFrom" : 657,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-platform-service/hudi-metaserver/hudi-metaserver-server/src/main/java/org/apache/hudi/metaserver/HoodieMetaserver.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-platform-service/hudi-metaserver/hudi-metaserver-server/src/main/java/org/apache/hudi/metaserver/HoodieMetaserverPreparations.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-platform-service/hudi-metaserver/hudi-metaserver-server/src/main/java/org/apache/hudi/metaserver/service/TimelineService.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-platform-service/hudi-metaserver/hudi-metaserver-server/src/main/java/org/apache/hudi/metaserver/store/MetaserverStorage.java",
      "evidence" : "import org.apache.hudi.ApiMaturityLevel;"
    }, {
      "pathFrom" : "hudi-platform-service/hudi-metaserver/hudi-metaserver-server/src/main/java/org/apache/hudi/metaserver/store/RelationalDBBasedStorage.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-platform-service/hudi-metaserver/hudi-metaserver-client/src/main/java/org/apache/hudi/metaserver/client/HoodieMetaserverClient.java",
      "evidence" : "import org.apache.hudi.ApiMaturityLevel;"
    }, {
      "pathFrom" : "hudi-platform-service/hudi-metaserver/hudi-metaserver-client/src/main/java/org/apache/hudi/metaserver/client/HoodieMetaserverClientProxy.java",
      "evidence" : "import org.apache.hudi.common.util.RetryHelper;"
    }, {
      "pathFrom" : "hudi-platform-service/hudi-metaserver/hudi-metaserver-client/src/main/java/org/apache/hudi/metaserver/client/HoodieMetaserverClientImp.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    } ],
    "toComponent" : "hudi-io",
    "count" : 8,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-platform-service -> hudi-io"
  }, {
    "fromComponent" : "hudi-platform-service",
    "locFrom" : 707,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-platform-service/hudi-metaserver/hudi-metaserver-server/src/main/java/org/apache/hudi/metaserver/HoodieMetaserver.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-platform-service/hudi-metaserver/hudi-metaserver-server/src/main/java/org/apache/hudi/metaserver/HoodieMetaserverPreparations.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-platform-service/hudi-metaserver/hudi-metaserver-server/src/main/java/org/apache/hudi/metaserver/service/TimelineService.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-platform-service/hudi-metaserver/hudi-metaserver-server/src/main/java/org/apache/hudi/metaserver/service/TableService.java",
      "evidence" : "import org.apache.hudi.common.model.HoodieTableType;"
    }, {
      "pathFrom" : "hudi-platform-service/hudi-metaserver/hudi-metaserver-server/src/main/java/org/apache/hudi/metaserver/store/MetaserverStorage.java",
      "evidence" : "import org.apache.hudi.ApiMaturityLevel;"
    }, {
      "pathFrom" : "hudi-platform-service/hudi-metaserver/hudi-metaserver-server/src/main/java/org/apache/hudi/metaserver/store/RelationalDBBasedStorage.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-platform-service/hudi-metaserver/hudi-metaserver-client/src/main/java/org/apache/hudi/metaserver/client/HoodieMetaserverClient.java",
      "evidence" : "import org.apache.hudi.ApiMaturityLevel;"
    }, {
      "pathFrom" : "hudi-platform-service/hudi-metaserver/hudi-metaserver-client/src/main/java/org/apache/hudi/metaserver/client/HoodieMetaserverClientProxy.java",
      "evidence" : "import org.apache.hudi.common.util.RetryHelper;"
    }, {
      "pathFrom" : "hudi-platform-service/hudi-metaserver/hudi-metaserver-client/src/main/java/org/apache/hudi/metaserver/client/HoodieMetaserverClientImp.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    } ],
    "toComponent" : "hudi-common",
    "count" : 9,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-platform-service -> hudi-common"
  }, {
    "fromComponent" : "hudi-platform-service",
    "locFrom" : 467,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-platform-service/hudi-metaserver/hudi-metaserver-server/src/main/java/org/apache/hudi/metaserver/HoodieMetaserver.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-platform-service/hudi-metaserver/hudi-metaserver-server/src/main/java/org/apache/hudi/metaserver/HoodieMetaserverPreparations.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-platform-service/hudi-metaserver/hudi-metaserver-server/src/main/java/org/apache/hudi/metaserver/service/TableService.java",
      "evidence" : "import org.apache.hudi.common.model.HoodieTableType;"
    }, {
      "pathFrom" : "hudi-platform-service/hudi-metaserver/hudi-metaserver-server/src/main/java/org/apache/hudi/metaserver/store/MetaserverStorage.java",
      "evidence" : "import org.apache.hudi.ApiMaturityLevel;"
    }, {
      "pathFrom" : "hudi-platform-service/hudi-metaserver/hudi-metaserver-client/src/main/java/org/apache/hudi/metaserver/client/HoodieMetaserverClient.java",
      "evidence" : "import org.apache.hudi.ApiMaturityLevel;"
    }, {
      "pathFrom" : "hudi-platform-service/hudi-metaserver/hudi-metaserver-client/src/main/java/org/apache/hudi/metaserver/client/HoodieMetaserverClientImp.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-platform-service/hudi-metaserver/hudi-metaserver-client/src/main/java/org/apache/hudi/common/table/HoodieTableMetaserverClient.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    } ],
    "toComponent" : "hudi-client",
    "count" : 7,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-platform-service -> hudi-client"
  }, {
    "fromComponent" : "hudi-platform-service",
    "locFrom" : 58,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-platform-service/hudi-metaserver/hudi-metaserver-server/src/main/java/org/apache/hudi/metaserver/store/MetaserverStorage.java",
      "evidence" : "import org.apache.hudi.ApiMaturityLevel;"
    }, {
      "pathFrom" : "hudi-platform-service/hudi-metaserver/hudi-metaserver-client/src/main/java/org/apache/hudi/metaserver/client/HoodieMetaserverClient.java",
      "evidence" : "import org.apache.hudi.ApiMaturityLevel;"
    } ],
    "toComponent" : "hudi-spark-datasource",
    "count" : 2,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-platform-service -> hudi-spark-datasource"
  }, {
    "fromComponent" : "hudi-common",
    "locFrom" : 10207,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/common/table/HoodieTableMetaClient.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.CachingPath;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/common/table/view/HoodieTablePreCommitFileSystemView.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.CachingPath;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/BaseHoodieTableFileIndex.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.CachingPath;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/common/util/InternalSchemaCache.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/common/util/OrcUtils.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/common/util/ParquetUtils.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieNativeAvroHFileReader.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieAvroOrcWriter.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HoodieWrapperFileSystem;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieBaseParquetWriter.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HoodieWrapperFileSystem;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieHBaseAvroHFileReader.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieAvroHFileWriter.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HoodieWrapperFileSystem;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/internal/schema/io/FileBasedInternalSchemaStorageManager.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/common/bootstrap/index/HFileBootstrapIndex.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopSeekableDataInputStream;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/common/config/DFSPropertiesConfiguration.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/common/conflict/detection/DirectMarkerBasedDetectionStrategy.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HoodieWrapperFileSystem;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/HoodieLogFileReader.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.BoundedFsDataInputStream;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/BaseHoodieLogRecordReader.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.CachingPath;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/LogReaderUtils.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/AbstractHoodieLogRecordReader.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.CachingPath;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/block/HoodieHFileDataBlock.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/block/HoodieParquetDataBlock.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.inline.InLineFSUtils;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/dto/FilePathDTO.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.CachingPath;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieLogFile.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.CachingPath;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/common/model/BaseFile.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.CachingPath;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieBaseFile.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.CachingPath;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieCommitMetadata.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/common/fs/OptimisticConsistencyGuard.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.ConsistencyGuard;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/common/fs/FailSafeConsistencyGuard.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.ConsistencyGuard;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/common/fs/FSUtils.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.CachingPath;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/metadata/HoodieTableMetadataUtil.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/metadata/HoodieMetadataPayload.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.CachingPath;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/metadata/FileSystemBackedTableMetadata.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/metadata/AbstractHoodieTableMetadata.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.CachingPath;"
    } ],
    "toComponent" : "hudi-hadoop-common",
    "count" : 33,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-common -> hudi-hadoop-common"
  }, {
    "fromComponent" : "hudi-platform-service",
    "locFrom" : 110,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-platform-service/hudi-metaserver/hudi-metaserver-client/src/main/java/org/apache/hudi/common/table/HoodieTableMetaserverClient.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    } ],
    "toComponent" : "hudi-aws",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-platform-service -> hudi-aws"
  }, {
    "fromComponent" : "hudi-common",
    "locFrom" : 7159,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/common/table/HoodieTableMetaClient.java",
      "evidence" : "import org.apache.hudi.storage.StoragePath;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieNativeAvroHFileReader.java",
      "evidence" : "import org.apache.hudi.io.ByteArraySeekableDataInputStream;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieAvroHFileReaderImplBase.java",
      "evidence" : "import org.apache.hudi.common.util.io.ByteBufferBackedInputStream;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/common/bootstrap/index/HFileBootstrapIndex.java",
      "evidence" : "import org.apache.hudi.io.util.IOUtils;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/common/util/hash/HashID.java",
      "evidence" : "import org.apache.hudi.io.util.IOUtils;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/common/conflict/detection/DirectMarkerBasedDetectionStrategy.java",
      "evidence" : "import org.apache.hudi.storage.StoragePath;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/common/bloom/SimpleBloomFilter.java",
      "evidence" : "import static org.apache.hudi.io.util.IOUtils.getDataInputStream;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/common/bloom/HoodieDynamicBoundedBloomFilter.java",
      "evidence" : "import static org.apache.hudi.io.util.IOUtils.getDataInputStream;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/common/heartbeat/HoodieHeartbeatUtils.java",
      "evidence" : "import org.apache.hudi.storage.StoragePath;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/HoodieLogFileReader.java",
      "evidence" : "import org.apache.hudi.io.util.IOUtils;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/block/HoodieCorruptBlock.java",
      "evidence" : "import org.apache.hudi.io.SeekableDataInputStream;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/block/HoodieLogBlock.java",
      "evidence" : "import org.apache.hudi.io.SeekableDataInputStream;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/block/HoodieDeleteBlock.java",
      "evidence" : "import org.apache.hudi.io.SeekableDataInputStream;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/block/HoodieAvroDataBlock.java",
      "evidence" : "import org.apache.hudi.io.SeekableDataInputStream;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/block/HoodieCommandBlock.java",
      "evidence" : "import org.apache.hudi.io.SeekableDataInputStream;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/block/HoodieHFileDataBlock.java",
      "evidence" : "import org.apache.hudi.io.SeekableDataInputStream;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/block/HoodieDataBlock.java",
      "evidence" : "import org.apache.hudi.io.SeekableDataInputStream;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/block/HoodieParquetDataBlock.java",
      "evidence" : "import org.apache.hudi.io.SeekableDataInputStream;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/block/HoodieCDCDataBlock.java",
      "evidence" : "import org.apache.hudi.io.SeekableDataInputStream;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/common/fs/FSUtils.java",
      "evidence" : "import org.apache.hudi.storage.HoodieStorage;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/parquet/io/ByteBufferBackedInputFile.java",
      "evidence" : "import org.apache.hudi.common.util.io.ByteBufferBackedInputStream;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/metadata/HoodieTableMetadataUtil.java",
      "evidence" : "import org.apache.hudi.storage.StoragePath;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/metadata/HoodieTableMetadata.java",
      "evidence" : "import org.apache.hudi.storage.StoragePath;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/metadata/HoodieMetadataPayload.java",
      "evidence" : "import org.apache.hudi.storage.StoragePath;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/metadata/AbstractHoodieTableMetadata.java",
      "evidence" : "import org.apache.hudi.storage.StoragePath;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/metadata/HoodieMetadataMetrics.java",
      "evidence" : "import org.apache.hudi.common.metrics.Registry;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/metadata/BaseTableMetadata.java",
      "evidence" : "import org.apache.hudi.common.metrics.Registry;"
    } ],
    "toComponent" : "hudi-io",
    "count" : 27,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-common -> hudi-io"
  }, {
    "fromComponent" : "hudi-hadoop-mr",
    "locFrom" : 1789,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/HoodieROTablePathFilter.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/HiveHoodieTableFileIndex.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/SchemaEvolutionContext.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/InputPathHandler.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/HoodieCopyOnWriteTableInputFormat.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/HoodieHFileInputFormat.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieDefaultTimeline;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/utils/HoodieInputFormatUtils.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/HoodieMergeOnReadTableInputFormat.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/HoodieParquetRealtimeInputFormat.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/AbstractRealtimeRecordReader.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    } ],
    "toComponent" : "hudi-platform-service",
    "count" : 10,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-hadoop-mr -> hudi-platform-service"
  }, {
    "fromComponent" : "hudi-hadoop-mr",
    "locFrom" : 5028,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/HoodieROTablePathFilter.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/HiveHoodieTableFileIndex.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/SchemaEvolutionContext.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/InputPathHandler.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/HoodieCopyOnWriteTableInputFormat.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/HoodieHFileInputFormat.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieDefaultTimeline;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/InputSplitUtils.java",
      "evidence" : "import static org.apache.hudi.common.util.StringUtils.fromUTF8Bytes;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/HoodieHFileRecordReader.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/BootstrapColumnStichingRecordReader.java",
      "evidence" : "import org.apache.hudi.common.util.ValidationUtils;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/RealtimeFileStatus.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/HoodieColumnProjectionUtils.java",
      "evidence" : "import org.apache.hudi.common.util.ValidationUtils;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/HoodieParquetInputFormat.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/RecordReaderValueIterator.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/utils/HoodieInputFormatUtils.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/utils/HoodieRealtimeInputFormatUtils.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/utils/HoodieRealtimeRecordReaderUtils.java",
      "evidence" : "import org.apache.hudi.common.util.ConfigUtils;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/utils/HoodieHiveUtils.java",
      "evidence" : "import org.apache.hudi.common.util.CollectionUtils;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/utils/HiveAvroSerializer.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/utils/shims/Hive3Shim.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/HoodieMergeOnReadTableInputFormat.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/HoodieParquetRealtimeInputFormat.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/AbstractRealtimeRecordReader.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/HoodieHFileRealtimeInputFormat.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/RealtimeCompactedRecordReader.java",
      "evidence" : "import org.apache.hudi.common.util.ConfigUtils;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/HoodieVirtualKeyInfo.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/RealtimeSplit.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/HoodieCombineRealtimeRecordReader.java",
      "evidence" : "import org.apache.hudi.common.util.ValidationUtils;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/HoodieMergeOnReadSnapshotReader.java",
      "evidence" : "import org.apache.hudi.common.util.ConfigUtils;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/RealtimeUnmergedRecordReader.java",
      "evidence" : "import org.apache.hudi.common.util.ConfigUtils;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/HoodieRealtimeFileSplit.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/HoodieRealtimePath.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/HoodieRealtimeBootstrapBaseFileSplit.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/HoodieRealtimeRecordReader.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/avro/HoodieAvroParquetReader.java",
      "evidence" : "import org.apache.hudi.avro.HoodieAvroUtils;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/hive/HoodieCombineRealtimeFileSplit.java",
      "evidence" : "import org.apache.hudi.common.util.ReflectionUtils;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/hive/HoodieCombineHiveInputFormat.java",
      "evidence" : "import org.apache.hudi.common.util.ReflectionUtils;"
    } ],
    "toComponent" : "hudi-common",
    "count" : 36,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-hadoop-mr -> hudi-common"
  }, {
    "fromComponent" : "hudi-hadoop-mr",
    "locFrom" : 4935,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/HiveHoodieTableFileIndex.java",
      "evidence" : "import org.apache.hudi.BaseHoodieTableFileIndex;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/InputSplitUtils.java",
      "evidence" : "import static org.apache.hudi.common.util.StringUtils.fromUTF8Bytes;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/HoodieROTablePathFilter.java",
      "evidence" : "import static org.apache.hudi.common.util.StringUtils.nonEmpty;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/HoodieHFileRecordReader.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/SchemaEvolutionContext.java",
      "evidence" : "import org.apache.hudi.common.util.InternalSchemaCache;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/BootstrapColumnStichingRecordReader.java",
      "evidence" : "import org.apache.hudi.common.util.ValidationUtils;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/RealtimeFileStatus.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/InputPathHandler.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/HoodieCopyOnWriteTableInputFormat.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/HoodieColumnProjectionUtils.java",
      "evidence" : "import org.apache.hudi.common.util.ValidationUtils;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/HoodieParquetInputFormat.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/RecordReaderValueIterator.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/utils/HoodieInputFormatUtils.java",
      "evidence" : "import org.apache.hudi.storage.StoragePath;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/utils/HoodieRealtimeInputFormatUtils.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/utils/HoodieRealtimeRecordReaderUtils.java",
      "evidence" : "import org.apache.hudi.common.util.ConfigUtils;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/utils/HoodieHiveUtils.java",
      "evidence" : "import org.apache.hudi.common.util.CollectionUtils;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/utils/HiveAvroSerializer.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/utils/shims/Hive3Shim.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/HoodieHFileRealtimeInputFormat.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/RealtimeCompactedRecordReader.java",
      "evidence" : "import org.apache.hudi.common.util.ConfigUtils;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/HoodieVirtualKeyInfo.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/RealtimeSplit.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/HoodieMergeOnReadTableInputFormat.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/HoodieCombineRealtimeRecordReader.java",
      "evidence" : "import org.apache.hudi.common.util.ValidationUtils;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/HoodieMergeOnReadSnapshotReader.java",
      "evidence" : "import org.apache.hudi.common.util.ConfigUtils;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/RealtimeUnmergedRecordReader.java",
      "evidence" : "import org.apache.hudi.common.util.ConfigUtils;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/HoodieRealtimeFileSplit.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/HoodieRealtimePath.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/HoodieParquetRealtimeInputFormat.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/AbstractRealtimeRecordReader.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/HoodieRealtimeBootstrapBaseFileSplit.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/HoodieRealtimeRecordReader.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/hive/HoodieCombineRealtimeFileSplit.java",
      "evidence" : "import org.apache.hudi.common.util.ReflectionUtils;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/hive/HoodieCombineHiveInputFormat.java",
      "evidence" : "import org.apache.hudi.common.util.ReflectionUtils;"
    } ],
    "toComponent" : "hudi-io",
    "count" : 34,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-hadoop-mr -> hudi-io"
  }, {
    "fromComponent" : "hudi-hadoop-mr",
    "locFrom" : 59,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/HiveHoodieTableFileIndex.java",
      "evidence" : "import org.apache.hudi.BaseHoodieTableFileIndex;"
    } ],
    "toComponent" : "hudi-spark-datasource",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-hadoop-mr -> hudi-spark-datasource"
  }, {
    "fromComponent" : "hudi-hadoop-mr",
    "locFrom" : 3649,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/HiveHoodieTableFileIndex.java",
      "evidence" : "import org.apache.hudi.BaseHoodieTableFileIndex;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/HoodieROTablePathFilter.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/HoodieParquetInputFormat.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/SchemaEvolutionContext.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/InputPathHandler.java",
      "evidence" : "import org.apache.hudi.exception.InvalidTableException;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/RecordReaderValueIterator.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/HoodieCopyOnWriteTableInputFormat.java",
      "evidence" : "import org.apache.hudi.exception.HoodieIOException;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/HoodieHFileRecordReader.java",
      "evidence" : "import org.apache.hudi.io.storage.HoodieFileReader;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/RealtimeFileStatus.java",
      "evidence" : "import org.apache.hudi.common.model.HoodieLogFile;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/utils/HoodieRealtimeRecordReaderUtils.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/utils/HiveAvroSerializer.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/utils/HoodieInputFormatUtils.java",
      "evidence" : "import org.apache.hudi.exception.HoodieIOException;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/utils/HoodieRealtimeInputFormatUtils.java",
      "evidence" : "import org.apache.hudi.common.model.HoodieRecord;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/utils/shims/Hive3Shim.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/HoodieMergeOnReadTableInputFormat.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/HoodieRealtimeRecordReader.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/AbstractRealtimeRecordReader.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/HoodieMergeOnReadSnapshotReader.java",
      "evidence" : "import org.apache.hudi.io.storage.HoodieFileReader;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/RealtimeCompactedRecordReader.java",
      "evidence" : "import org.apache.hudi.common.table.log.HoodieMergedLogRecordScanner;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/RealtimeUnmergedRecordReader.java",
      "evidence" : "import org.apache.hudi.common.table.log.HoodieUnMergedLogRecordScanner;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/RealtimeSplit.java",
      "evidence" : "import org.apache.hudi.common.model.HoodieLogFile;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/HoodieRealtimeFileSplit.java",
      "evidence" : "import org.apache.hudi.common.model.HoodieLogFile;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/HoodieRealtimePath.java",
      "evidence" : "import org.apache.hudi.common.model.HoodieLogFile;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/HoodieRealtimeBootstrapBaseFileSplit.java",
      "evidence" : "import org.apache.hudi.common.model.HoodieLogFile;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/hive/HoodieCombineRealtimeFileSplit.java",
      "evidence" : "import org.apache.hudi.exception.HoodieIOException;"
    } ],
    "toComponent" : "hudi-client",
    "count" : 25,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-hadoop-mr -> hudi-client"
  }, {
    "fromComponent" : "hudi-hadoop-mr",
    "locFrom" : 520,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/RealtimeCompactedRecordReader.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/RealtimeSplit.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.CachingPath;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/HoodieMergeOnReadSnapshotReader.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/RealtimeUnmergedRecordReader.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    } ],
    "toComponent" : "hudi-hadoop-common",
    "count" : 4,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-hadoop-mr -> hudi-hadoop-common"
  }, {
    "fromComponent" : "hudi-client",
    "locFrom" : 4016,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/scala/org/apache/hudi/BaseSparkInternalRowReaderContext.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/lock/FileSystemBasedLockProvider.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metadata/HoodieBackedTableMetadataWriter.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.CachingPath;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/io/storage/row/HoodieRowCreateHandle.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.CachingPath;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/upgrade/TwoToOneDowngradeHandler.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/HoodieTable.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.ConsistencyGuard;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/BaseHoodieClient.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/SparkRDDWriteClient.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HoodieWrapperFileSystem;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metrics/Metrics.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/bootstrap/SparkBootstrapCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/ListingBasedRollbackStrategy.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HoodieWrapperFileSystem;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/marker/SimpleDirectMarkerBasedDetectionStrategy.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HoodieWrapperFileSystem;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/marker/DirectWriteMarkers.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/marker/SimpleTransactionDirectMarkerBasedDetectionStrategy.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HoodieWrapperFileSystem;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/marker/WriteMarkersFactory.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bucket/ConsistentBucketIndexUtils.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HoodieWrapperFileSystem;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/utils/SparkPartitionUtils.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.CachingPath;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/embedded/EmbeddedTimelineService.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    } ],
    "toComponent" : "hudi-hadoop-common",
    "count" : 18,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-client -> hudi-hadoop-common"
  }, {
    "fromComponent" : "hudi-spark-datasource",
    "locFrom" : 1791,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-spark-datasource/hudi-spark-common/src/main/java/org/apache/hudi/DataSourceUtils.java",
      "evidence" : "import org.apache.hudi.config.HoodieCompactionConfig;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark-common/src/main/java/org/apache/hudi/HoodieSparkFunctionalIndexClient.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark/src/main/java/org/apache/hudi/cli/ArchiveExecutorUtils.java",
      "evidence" : "import org.apache.hudi.config.HoodieArchivalConfig;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark/src/main/java/org/apache/hudi/cli/HDFSParquetImporterUtils.java",
      "evidence" : "import org.apache.hudi.config.HoodieCompactionConfig;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark/src/main/java/org/apache/hudi/cli/BootstrapExecutorUtils.java",
      "evidence" : "import org.apache.hudi.config.HoodieCompactionConfig;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark/src/main/java/org/apache/hudi/bootstrap/SparkFullBootstrapDataProviderBase.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark-common/src/main/java/org/apache/hudi/commit/HoodieStreamerDatasetBulkInsertCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark-common/src/main/java/org/apache/hudi/commit/DatasetBulkInsertOverwriteCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.config.HoodieInternalConfig;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark-common/src/main/java/org/apache/hudi/commit/DatasetBulkInsertOverwriteTableCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark-common/src/main/java/org/apache/hudi/commit/BaseDatasetBulkInsertCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark-common/src/main/java/org/apache/hudi/commit/DatasetBulkInsertCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.config.HoodieInternalConfig;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark-common/src/main/java/org/apache/hudi/internal/DataSourceInternalWriterHelper.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark2/src/main/java/org/apache/hudi/internal/HoodieBulkInsertDataInternalWriterFactory.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark2/src/main/java/org/apache/hudi/internal/DefaultSource.java",
      "evidence" : "import org.apache.hudi.config.HoodieInternalConfig;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark2/src/main/java/org/apache/hudi/internal/HoodieDataSourceInternalWriter.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark2/src/main/java/org/apache/hudi/internal/HoodieBulkInsertDataInternalWriter.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark3-common/src/main/java/org/apache/hudi/spark3/internal/HoodieBulkInsertDataInternalWriterFactory.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark3-common/src/main/java/org/apache/hudi/spark3/internal/HoodieDataSourceInternalBatchWriteBuilder.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark3-common/src/main/java/org/apache/hudi/spark3/internal/DefaultSource.java",
      "evidence" : "import org.apache.hudi.config.HoodieInternalConfig;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark3-common/src/main/java/org/apache/hudi/spark3/internal/HoodieDataSourceInternalTable.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark3-common/src/main/java/org/apache/hudi/spark3/internal/HoodieDataSourceInternalBatchWrite.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark3-common/src/main/java/org/apache/hudi/spark3/internal/HoodieBulkInsertDataInternalWriter.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    } ],
    "toComponent" : "hudi-aws",
    "count" : 22,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-spark-datasource -> hudi-aws"
  }, {
    "fromComponent" : "hudi-spark-datasource",
    "locFrom" : 3291,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-spark-datasource/hudi-spark-common/src/main/java/org/apache/hudi/DataSourceUtils.java",
      "evidence" : "import org.apache.hudi.config.HoodieCompactionConfig;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark-common/src/main/java/org/apache/hudi/HoodieSparkFunctionalIndexClient.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark/src/main/java/org/apache/hudi/cli/ArchiveExecutorUtils.java",
      "evidence" : "import org.apache.hudi.config.HoodieArchivalConfig;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark/src/main/java/org/apache/hudi/cli/HDFSParquetImporterUtils.java",
      "evidence" : "import org.apache.hudi.config.HoodieCompactionConfig;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark/src/main/java/org/apache/hudi/cli/BootstrapExecutorUtils.java",
      "evidence" : "import org.apache.hudi.config.HoodieCompactionConfig;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/java/org/apache/spark/sql/execution/datasources/parquet/Spark31HoodieVectorizedParquetRecordReader.java",
      "evidence" : "import org.apache.hudi.client.utils.SparkInternalSchemaConverter;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark3.2plus-common/src/main/java/org/apache/spark/sql/execution/datasources/parquet/Spark32PlusHoodieVectorizedParquetRecordReader.java",
      "evidence" : "import org.apache.hudi.client.utils.SparkInternalSchemaConverter;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/java/org/apache/spark/sql/execution/datasources/parquet/Spark30HoodieVectorizedParquetRecordReader.java",
      "evidence" : "import org.apache.hudi.client.utils.SparkInternalSchemaConverter;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark2/src/main/java/org/apache/spark/sql/execution/datasources/parquet/Spark24HoodieVectorizedParquetRecordReader.java",
      "evidence" : "import org.apache.hudi.client.utils.SparkInternalSchemaConverter;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark/src/main/java/org/apache/hudi/bootstrap/SparkFullBootstrapDataProviderBase.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark/src/main/java/org/apache/hudi/bootstrap/SparkParquetBootstrapDataProvider.java",
      "evidence" : "import org.apache.hudi.client.common.HoodieSparkEngineContext;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark/src/main/java/org/apache/hudi/bootstrap/SparkOrcBootstrapDataProvider.java",
      "evidence" : "import org.apache.hudi.client.common.HoodieSparkEngineContext;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark-common/src/main/java/org/apache/hudi/commit/HoodieStreamerDatasetBulkInsertCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark-common/src/main/java/org/apache/hudi/commit/DatasetBulkInsertOverwriteCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.config.HoodieInternalConfig;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark-common/src/main/java/org/apache/hudi/commit/DatasetBulkInsertOverwriteTableCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark-common/src/main/java/org/apache/hudi/commit/BaseDatasetBulkInsertCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark-common/src/main/java/org/apache/hudi/commit/DatasetBulkInsertCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.config.HoodieInternalConfig;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark-common/src/main/java/org/apache/hudi/internal/DataSourceInternalWriterHelper.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark2/src/main/java/org/apache/hudi/internal/HoodieBulkInsertDataInternalWriterFactory.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark2/src/main/java/org/apache/hudi/internal/DefaultSource.java",
      "evidence" : "import org.apache.hudi.config.HoodieInternalConfig;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark2/src/main/java/org/apache/hudi/internal/HoodieDataSourceInternalWriter.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark2/src/main/java/org/apache/hudi/internal/HoodieBulkInsertDataInternalWriter.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark-common/src/main/java/org/apache/hudi/internal/BaseWriterCommitMessage.java",
      "evidence" : "import org.apache.hudi.client.WriteStatus;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark2/src/main/java/org/apache/hudi/internal/HoodieWriterCommitMessage.java",
      "evidence" : "import org.apache.hudi.client.WriteStatus;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark3-common/src/main/java/org/apache/hudi/spark3/internal/HoodieBulkInsertDataInternalWriterFactory.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark3-common/src/main/java/org/apache/hudi/spark3/internal/HoodieDataSourceInternalBatchWriteBuilder.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark3-common/src/main/java/org/apache/hudi/spark3/internal/DefaultSource.java",
      "evidence" : "import org.apache.hudi.config.HoodieInternalConfig;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark3-common/src/main/java/org/apache/hudi/spark3/internal/HoodieDataSourceInternalTable.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark3-common/src/main/java/org/apache/hudi/spark3/internal/HoodieDataSourceInternalBatchWrite.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark3-common/src/main/java/org/apache/hudi/spark3/internal/HoodieBulkInsertDataInternalWriter.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark3-common/src/main/java/org/apache/hudi/spark3/internal/HoodieWriterCommitMessage.java",
      "evidence" : "import org.apache.hudi.client.WriteStatus;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark31SqlAstBuilder.scala",
      "evidence" : "import org.apache.spark.sql.execution.SparkSqlAstBuilder"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark30SqlAstBuilder.scala",
      "evidence" : "import org.apache.spark.sql.execution.SparkSqlAstBuilder"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
      "evidence" : "import org.apache.spark.sql.execution.WholeStageCodegenExec"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
      "evidence" : "import org.apache.spark.sql.execution.WholeStageCodegenExec"
    } ],
    "toComponent" : "hudi-client",
    "count" : 35,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-spark-datasource -> hudi-client"
  }, {
    "fromComponent" : "hudi-spark-datasource",
    "locFrom" : 860,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-spark-datasource/hudi-spark-common/src/main/java/org/apache/hudi/DataSourceUtils.java",
      "evidence" : "import org.apache.hudi.table.BulkInsertPartitioner;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark/src/main/java/org/apache/hudi/cli/BootstrapExecutorUtils.java",
      "evidence" : "import org.apache.hudi.util.SparkKeyGenUtils;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark/src/main/java/org/apache/hudi/cli/ArchiveExecutorUtils.java",
      "evidence" : "import org.apache.hudi.table.HoodieSparkTable;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark-common/src/main/java/org/apache/hudi/commit/BaseDatasetBulkInsertCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.table.BulkInsertPartitioner;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark-common/src/main/java/org/apache/hudi/internal/DataSourceInternalWriterHelper.java",
      "evidence" : "import org.apache.hudi.table.HoodieSparkTable;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark2/src/main/java/org/apache/hudi/internal/HoodieBulkInsertDataInternalWriterFactory.java",
      "evidence" : "import org.apache.hudi.table.HoodieTable;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark2/src/main/java/org/apache/hudi/internal/HoodieBulkInsertDataInternalWriter.java",
      "evidence" : "import org.apache.hudi.table.HoodieTable;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark3-common/src/main/java/org/apache/hudi/spark3/internal/HoodieBulkInsertDataInternalWriterFactory.java",
      "evidence" : "import org.apache.hudi.table.HoodieTable;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark3-common/src/main/java/org/apache/hudi/spark3/internal/HoodieBulkInsertDataInternalWriter.java",
      "evidence" : "import org.apache.hudi.table.HoodieTable;"
    } ],
    "toComponent" : "hudi-flink-datasource",
    "count" : 9,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-spark-datasource -> hudi-flink-datasource"
  }, {
    "fromComponent" : "hudi-cli",
    "locFrom" : 1390,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/HoodieCLI.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/utils/SparkUtil.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/ExportCommand.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/ArchivedCommitsCommand.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/HoodieLogFileCommand.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.CachingPath;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/SparkMain.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    } ],
    "toComponent" : "hudi-hadoop-common",
    "count" : 6,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-cli -> hudi-hadoop-common"
  }, {
    "fromComponent" : "hudi-spark-datasource",
    "locFrom" : 251,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-spark-datasource/hudi-spark/src/main/java/org/apache/hudi/cli/HDFSParquetImporterUtils.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    } ],
    "toComponent" : "hudi-hadoop-common",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-spark-datasource -> hudi-hadoop-common"
  }, {
    "fromComponent" : "hudi-spark-datasource",
    "locFrom" : 258,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-spark-datasource/hudi-spark/src/main/java/org/apache/hudi/cli/BootstrapExecutorUtils.java",
      "evidence" : "import org.apache.hudi.hive.HiveSyncConfig;"
    } ],
    "toComponent" : "hudi-sync",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-spark-datasource -> hudi-sync"
  }, {
    "fromComponent" : "hudi-cli",
    "locFrom" : 5016,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/HoodieCLI.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/utils/HiveUtil.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/utils/CLIUtils.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/utils/CommitUtil.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/CommitsCommand.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/TableCommand.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/BootstrapCommand.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/UpgradeOrDowngradeCommand.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/ExportCommand.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/TimelineCommand.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/MetadataCommand.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/CleansCommand.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/ClusteringCommand.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/FileSystemViewCommand.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/MarkersCommand.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/ArchivedCommitsCommand.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/RepairsCommand.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/HoodieLogFileCommand.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/SavepointsCommand.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/HoodieSyncValidateCommand.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/SparkMain.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/CompactionCommand.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/RestoresCommand.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieActiveTimeline;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/RollbacksCommand.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieActiveTimeline;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/StatsCommand.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieActiveTimeline;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/DiffCommand.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieDefaultTimeline;"
    } ],
    "toComponent" : "hudi-platform-service",
    "count" : 26,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-cli -> hudi-platform-service"
  }, {
    "fromComponent" : "hudi-cli",
    "locFrom" : 5452,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/HoodieCLI.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/Table.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/HoodiePrintHelper.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/utils/HiveUtil.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/utils/CLIUtils.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/utils/CommitUtil.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/utils/SparkUtil.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/utils/SparkTempViewProvider.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/CommitsCommand.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/TableCommand.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/BootstrapCommand.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/UpgradeOrDowngradeCommand.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/ExportCommand.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/TimelineCommand.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/MetadataCommand.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/CleansCommand.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/ClusteringCommand.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/FileSystemViewCommand.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/MarkersCommand.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/ArchivedCommitsCommand.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/RepairsCommand.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/HoodieLogFileCommand.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/SavepointsCommand.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/HoodieSyncValidateCommand.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/SparkMain.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/CompactionCommand.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/RestoresCommand.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieActiveTimeline;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/RollbacksCommand.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieActiveTimeline;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/StatsCommand.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieActiveTimeline;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/DiffCommand.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieDefaultTimeline;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/UtilsCommand.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/TempViewCommand.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    } ],
    "toComponent" : "hudi-common",
    "count" : 32,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-cli -> hudi-common"
  }, {
    "fromComponent" : "hudi-spark-datasource",
    "locFrom" : 859,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-spark-datasource/hudi-spark/src/main/java/org/apache/hudi/cli/HDFSParquetImporterUtils.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark/src/main/java/org/apache/hudi/cli/BootstrapExecutorUtils.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark-common/src/main/java/org/apache/hudi/commit/BaseDatasetBulkInsertCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark-common/src/main/java/org/apache/hudi/commit/HoodieStreamerDatasetBulkInsertCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark-common/src/main/java/org/apache/hudi/commit/DatasetBulkInsertOverwriteCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark-common/src/main/java/org/apache/hudi/internal/DataSourceInternalWriterHelper.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark2/src/main/java/org/apache/hudi/internal/DefaultSource.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark3-common/src/main/java/org/apache/hudi/spark3/internal/DefaultSource.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    } ],
    "toComponent" : "hudi-platform-service",
    "count" : 8,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-spark-datasource -> hudi-platform-service"
  }, {
    "fromComponent" : "hudi-spark-datasource",
    "locFrom" : 1860,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-spark-datasource/hudi-spark/src/main/java/org/apache/hudi/cli/HDFSParquetImporterUtils.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark/src/main/java/org/apache/hudi/cli/BootstrapExecutorUtils.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark/src/main/java/org/apache/hudi/cli/ArchiveExecutorUtils.java",
      "evidence" : "import org.apache.hudi.common.config.HoodieMetadataConfig;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark/src/main/java/org/apache/hudi/cli/SchemaProvider.java",
      "evidence" : "import org.apache.hudi.common.config.TypedProperties;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/java/org/apache/spark/sql/execution/datasources/parquet/Spark31HoodieVectorizedParquetRecordReader.java",
      "evidence" : "import org.apache.hudi.common.util.collection.Pair;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark3.2plus-common/src/main/java/org/apache/spark/sql/execution/datasources/parquet/Spark32PlusHoodieVectorizedParquetRecordReader.java",
      "evidence" : "import org.apache.hudi.common.util.collection.Pair;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/java/org/apache/spark/sql/execution/datasources/parquet/Spark30HoodieVectorizedParquetRecordReader.java",
      "evidence" : "import org.apache.hudi.common.util.collection.Pair;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark2/src/main/java/org/apache/spark/sql/execution/datasources/parquet/Spark24HoodieVectorizedParquetRecordReader.java",
      "evidence" : "import org.apache.hudi.common.util.collection.Pair;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark/src/main/java/org/apache/hudi/bootstrap/SparkFullBootstrapDataProviderBase.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark/src/main/java/org/apache/hudi/bootstrap/SparkParquetBootstrapDataProvider.java",
      "evidence" : "import org.apache.hudi.common.config.TypedProperties;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark/src/main/java/org/apache/hudi/bootstrap/SparkOrcBootstrapDataProvider.java",
      "evidence" : "import org.apache.hudi.common.config.TypedProperties;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark/src/main/java/org/apache/hudi/payload/AWSDmsAvroPayload.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark-common/src/main/java/org/apache/hudi/commit/BaseDatasetBulkInsertCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark-common/src/main/java/org/apache/hudi/commit/HoodieStreamerDatasetBulkInsertCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark-common/src/main/java/org/apache/hudi/commit/DatasetBulkInsertOverwriteCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark-common/src/main/java/org/apache/hudi/commit/DatasetBulkInsertCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark-common/src/main/java/org/apache/hudi/commit/DatasetBulkInsertOverwriteTableCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.util.collection.Pair;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark-common/src/main/java/org/apache/hudi/async/SparkStreamingAsyncCompactService.java",
      "evidence" : "import org.apache.hudi.common.engine.HoodieEngineContext;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark-common/src/main/java/org/apache/hudi/async/SparkStreamingAsyncClusteringService.java",
      "evidence" : "import org.apache.hudi.common.engine.HoodieEngineContext;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark-common/src/main/java/org/apache/hudi/internal/DataSourceInternalWriterHelper.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark2/src/main/java/org/apache/hudi/internal/DefaultSource.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark2/src/main/java/org/apache/hudi/internal/HoodieDataSourceInternalWriter.java",
      "evidence" : "import org.apache.hudi.common.model.WriteOperationType;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark3-common/src/main/java/org/apache/hudi/spark3/internal/DefaultSource.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark3-common/src/main/java/org/apache/hudi/spark3/internal/HoodieDataSourceInternalBatchWrite.java",
      "evidence" : "import org.apache.hudi.common.model.WriteOperationType;"
    } ],
    "toComponent" : "hudi-common",
    "count" : 24,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-spark-datasource -> hudi-common"
  }, {
    "fromComponent" : "hudi-cli",
    "locFrom" : 4975,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/Table.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/HoodiePrintHelper.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/HoodieCLI.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/utils/SparkUtil.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/utils/SparkTempViewProvider.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/utils/CLIUtils.java",
      "evidence" : "import static org.apache.hudi.common.util.StringUtils.isNullOrEmpty;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/SparkMain.java",
      "evidence" : "import org.apache.hudi.DataSourceWriteOptions;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/ExportCommand.java",
      "evidence" : "import org.apache.hudi.storage.StoragePath;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/CommitsCommand.java",
      "evidence" : "import org.apache.hudi.common.util.NumericUtils;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/TableCommand.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/UpgradeOrDowngradeCommand.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/UtilsCommand.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/TimelineCommand.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/MetadataCommand.java",
      "evidence" : "import org.apache.hudi.common.util.HoodieTimer;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/RestoresCommand.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/FileSystemViewCommand.java",
      "evidence" : "import org.apache.hudi.common.util.NumericUtils;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/ArchivedCommitsCommand.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/RepairsCommand.java",
      "evidence" : "import org.apache.hudi.common.util.CleanerUtils;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/HoodieLogFileCommand.java",
      "evidence" : "import org.apache.hudi.common.util.FileIOUtils;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/StatsCommand.java",
      "evidence" : "import org.apache.hudi.common.util.NumericUtils;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/CompactionCommand.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/DiffCommand.java",
      "evidence" : "import org.apache.hudi.common.util.NumericUtils;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/BootstrapCommand.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/SavepointsCommand.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/HoodieSyncValidateCommand.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/TempViewCommand.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    } ],
    "toComponent" : "hudi-io",
    "count" : 26,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-cli -> hudi-io"
  }, {
    "fromComponent" : "hudi-spark-datasource",
    "locFrom" : 930,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-spark-datasource/hudi-spark/src/main/java/org/apache/hudi/cli/HDFSParquetImporterUtils.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark/src/main/java/org/apache/hudi/cli/BootstrapExecutorUtils.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark/src/main/java/org/apache/hudi/bootstrap/SparkFullBootstrapDataProviderBase.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark/src/main/java/org/apache/hudi/payload/AWSDmsAvroPayload.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark-common/src/main/java/org/apache/hudi/commit/HoodieStreamerDatasetBulkInsertCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark-common/src/main/java/org/apache/hudi/commit/DatasetBulkInsertOverwriteCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark-common/src/main/java/org/apache/hudi/commit/BaseDatasetBulkInsertCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.util.CommitUtils;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark-common/src/main/java/org/apache/hudi/commit/DatasetBulkInsertCommitActionExecutor.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-spark-datasource/hudi-spark-common/src/main/java/org/apache/hudi/internal/DataSourceInternalWriterHelper.java",
      "evidence" : "import org.apache.hudi.common.util.CommitUtils;"
    } ],
    "toComponent" : "hudi-io",
    "count" : 9,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-spark-datasource -> hudi-io"
  }, {
    "fromComponent" : "hudi-cli",
    "locFrom" : 4411,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/utils/SparkTempViewProvider.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/utils/CommitUtil.java",
      "evidence" : "import org.apache.hudi.common.model.HoodieCommitMetadata;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/TableCommand.java",
      "evidence" : "import org.apache.hudi.config.HoodieCompactionConfig;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/MetadataCommand.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/SparkMain.java",
      "evidence" : "import org.apache.hudi.config.HoodieArchivalConfig;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/BootstrapCommand.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/ExportCommand.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/ArchivedCommitsCommand.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/RepairsCommand.java",
      "evidence" : "import org.apache.hudi.exception.HoodieIOException;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/SavepointsCommand.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/HoodieSyncValidateCommand.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/TempViewCommand.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/CompactionCommand.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/HoodieLogFileCommand.java",
      "evidence" : "import org.apache.hudi.common.table.log.HoodieLogFormat;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/CommitsCommand.java",
      "evidence" : "import org.apache.hudi.common.model.HoodieCommitMetadata;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/FileSystemViewCommand.java",
      "evidence" : "import org.apache.hudi.common.model.FileSlice;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/StatsCommand.java",
      "evidence" : "import org.apache.hudi.common.model.HoodieCommitMetadata;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/DiffCommand.java",
      "evidence" : "import org.apache.hudi.common.model.HoodieCommitMetadata;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/TimelineCommand.java",
      "evidence" : "import org.apache.hudi.metadata.HoodieTableMetadata;"
    } ],
    "toComponent" : "hudi-client",
    "count" : 19,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-cli -> hudi-client"
  }, {
    "fromComponent" : "hudi-cli",
    "locFrom" : 1224,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/TableCommand.java",
      "evidence" : "import org.apache.hudi.config.HoodieCompactionConfig;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/MetadataCommand.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/SparkMain.java",
      "evidence" : "import org.apache.hudi.config.HoodieArchivalConfig;"
    } ],
    "toComponent" : "hudi-aws",
    "count" : 3,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-cli -> hudi-aws"
  }, {
    "fromComponent" : "hudi-cli",
    "locFrom" : 589,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/SparkMain.java",
      "evidence" : "import org.apache.hudi.DataSourceWriteOptions;"
    } ],
    "toComponent" : "hudi-spark-datasource",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-cli -> hudi-spark-datasource"
  }, {
    "fromComponent" : "hudi-cli",
    "locFrom" : 589,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/SparkMain.java",
      "evidence" : "import org.apache.hudi.table.HoodieSparkTable;"
    } ],
    "toComponent" : "hudi-flink-datasource",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-cli -> hudi-flink-datasource"
  }, {
    "fromComponent" : "hudi-cli",
    "locFrom" : 1604,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/BootstrapCommand.java",
      "evidence" : "import org.apache.hudi.utilities.UtilHelpers;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/CleansCommand.java",
      "evidence" : "import org.apache.hudi.utilities.UtilHelpers;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/ClusteringCommand.java",
      "evidence" : "import org.apache.hudi.utilities.UtilHelpers;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/HDFSParquetImportCommand.java",
      "evidence" : "import org.apache.hudi.utilities.HDFSParquetImporter.FormatValidator;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/SparkMain.java",
      "evidence" : "import org.apache.hudi.utilities.HDFSParquetImporter;"
    }, {
      "pathFrom" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/CompactionCommand.java",
      "evidence" : "import org.apache.hudi.utilities.UtilHelpers;"
    } ],
    "toComponent" : "hudi-utilities",
    "count" : 6,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-cli -> hudi-utilities"
  }, {
    "fromComponent" : "hudi-gcp",
    "locFrom" : 540,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-gcp/src/main/java/org/apache/hudi/gcp/bigquery/BigQuerySyncTool.java",
      "evidence" : "import org.apache.hudi.sync.common.HoodieSyncTool;"
    }, {
      "pathFrom" : "hudi-gcp/src/main/java/org/apache/hudi/gcp/bigquery/BigQuerySyncConfig.java",
      "evidence" : "import org.apache.hudi.sync.common.HoodieSyncConfig;"
    }, {
      "pathFrom" : "hudi-gcp/src/main/java/org/apache/hudi/gcp/bigquery/HoodieBigQuerySyncClient.java",
      "evidence" : "import org.apache.hudi.sync.common.HoodieSyncClient;"
    } ],
    "toComponent" : "hudi-sync",
    "count" : 3,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-gcp -> hudi-sync"
  }, {
    "fromComponent" : "hudi-gcp",
    "locFrom" : 431,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-gcp/src/main/java/org/apache/hudi/gcp/bigquery/BigQuerySyncTool.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-gcp/src/main/java/org/apache/hudi/gcp/bigquery/BigQuerySchemaResolver.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-gcp/src/main/java/org/apache/hudi/gcp/bigquery/BigQuerySyncConfig.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    } ],
    "toComponent" : "hudi-platform-service",
    "count" : 3,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-gcp -> hudi-platform-service"
  }, {
    "fromComponent" : "hudi-gcp",
    "locFrom" : 688,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-gcp/src/main/java/org/apache/hudi/gcp/bigquery/BigQuerySyncTool.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-gcp/src/main/java/org/apache/hudi/gcp/bigquery/BigQuerySchemaResolver.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-gcp/src/main/java/org/apache/hudi/gcp/bigquery/BigQuerySyncConfig.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-gcp/src/main/java/org/apache/hudi/gcp/bigquery/HoodieBigQuerySyncClient.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    } ],
    "toComponent" : "hudi-common",
    "count" : 4,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-gcp -> hudi-common"
  }, {
    "fromComponent" : "hudi-gcp",
    "locFrom" : 688,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-gcp/src/main/java/org/apache/hudi/gcp/bigquery/BigQuerySyncTool.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-gcp/src/main/java/org/apache/hudi/gcp/bigquery/BigQuerySchemaResolver.java",
      "evidence" : "import org.apache.hudi.common.util.VisibleForTesting;"
    }, {
      "pathFrom" : "hudi-gcp/src/main/java/org/apache/hudi/gcp/bigquery/BigQuerySyncConfig.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-gcp/src/main/java/org/apache/hudi/gcp/bigquery/HoodieBigQuerySyncClient.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    } ],
    "toComponent" : "hudi-io",
    "count" : 4,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-gcp -> hudi-io"
  }, {
    "fromComponent" : "hudi-gcp",
    "locFrom" : 148,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-gcp/src/main/java/org/apache/hudi/gcp/bigquery/BigQuerySchemaResolver.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    } ],
    "toComponent" : "hudi-client",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-gcp -> hudi-client"
  }, {
    "fromComponent" : "hudi-timeline-service",
    "locFrom" : 365,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-timeline-service/src/main/java/org/apache/hudi/timeline/service/TimelineService.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    } ],
    "toComponent" : "hudi-hadoop-common",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-timeline-service -> hudi-hadoop-common"
  }, {
    "fromComponent" : "hudi-timeline-service",
    "locFrom" : 1517,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-timeline-service/src/main/java/org/apache/hudi/timeline/service/RequestHandler.java",
      "evidence" : "import org.apache.hudi.common.table.view.FileSystemViewManager;"
    }, {
      "pathFrom" : "hudi-timeline-service/src/main/java/org/apache/hudi/timeline/service/TimelineService.java",
      "evidence" : "import org.apache.hudi.common.table.view.FileSystemViewManager;"
    }, {
      "pathFrom" : "hudi-timeline-service/src/main/java/org/apache/hudi/timeline/service/handlers/TimelineHandler.java",
      "evidence" : "import org.apache.hudi.common.table.view.FileSystemViewManager;"
    }, {
      "pathFrom" : "hudi-timeline-service/src/main/java/org/apache/hudi/timeline/service/handlers/Handler.java",
      "evidence" : "import org.apache.hudi.common.table.view.FileSystemViewManager;"
    }, {
      "pathFrom" : "hudi-timeline-service/src/main/java/org/apache/hudi/timeline/service/handlers/FileSliceHandler.java",
      "evidence" : "import org.apache.hudi.common.table.view.FileSystemViewManager;"
    }, {
      "pathFrom" : "hudi-timeline-service/src/main/java/org/apache/hudi/timeline/service/handlers/MarkerHandler.java",
      "evidence" : "import org.apache.hudi.common.table.view.FileSystemViewManager;"
    }, {
      "pathFrom" : "hudi-timeline-service/src/main/java/org/apache/hudi/timeline/service/handlers/InstantStateHandler.java",
      "evidence" : "import org.apache.hudi.common.table.view.FileSystemViewManager;"
    }, {
      "pathFrom" : "hudi-timeline-service/src/main/java/org/apache/hudi/timeline/service/handlers/BaseFileHandler.java",
      "evidence" : "import org.apache.hudi.common.table.view.FileSystemViewManager;"
    }, {
      "pathFrom" : "hudi-timeline-service/src/main/java/org/apache/hudi/timeline/service/handlers/marker/MarkerBasedEarlyConflictDetectionRunnable.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-timeline-service/src/main/java/org/apache/hudi/timeline/service/handlers/marker/AsyncTimelineServerBasedDetectionStrategy.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    } ],
    "toComponent" : "hudi-platform-service",
    "count" : 10,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-timeline-service -> hudi-platform-service"
  }, {
    "fromComponent" : "hudi-timeline-service",
    "locFrom" : 1870,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-timeline-service/src/main/java/org/apache/hudi/timeline/service/RequestHandler.java",
      "evidence" : "import org.apache.hudi.common.table.view.FileSystemViewManager;"
    }, {
      "pathFrom" : "hudi-timeline-service/src/main/java/org/apache/hudi/timeline/service/TimelineService.java",
      "evidence" : "import org.apache.hudi.common.table.view.FileSystemViewManager;"
    }, {
      "pathFrom" : "hudi-timeline-service/src/main/java/org/apache/hudi/timeline/service/handlers/TimelineHandler.java",
      "evidence" : "import org.apache.hudi.common.table.view.FileSystemViewManager;"
    }, {
      "pathFrom" : "hudi-timeline-service/src/main/java/org/apache/hudi/timeline/service/handlers/Handler.java",
      "evidence" : "import org.apache.hudi.common.table.view.FileSystemViewManager;"
    }, {
      "pathFrom" : "hudi-timeline-service/src/main/java/org/apache/hudi/timeline/service/handlers/FileSliceHandler.java",
      "evidence" : "import org.apache.hudi.common.table.view.FileSystemViewManager;"
    }, {
      "pathFrom" : "hudi-timeline-service/src/main/java/org/apache/hudi/timeline/service/handlers/MarkerHandler.java",
      "evidence" : "import org.apache.hudi.common.table.view.FileSystemViewManager;"
    }, {
      "pathFrom" : "hudi-timeline-service/src/main/java/org/apache/hudi/timeline/service/handlers/InstantStateHandler.java",
      "evidence" : "import org.apache.hudi.common.table.view.FileSystemViewManager;"
    }, {
      "pathFrom" : "hudi-timeline-service/src/main/java/org/apache/hudi/timeline/service/handlers/BaseFileHandler.java",
      "evidence" : "import org.apache.hudi.common.table.view.FileSystemViewManager;"
    }, {
      "pathFrom" : "hudi-timeline-service/src/main/java/org/apache/hudi/timeline/service/handlers/marker/MarkerBasedEarlyConflictDetectionRunnable.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-timeline-service/src/main/java/org/apache/hudi/timeline/service/handlers/marker/AsyncTimelineServerBasedDetectionStrategy.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-timeline-service/src/main/java/org/apache/hudi/timeline/service/handlers/marker/MarkerDirState.java",
      "evidence" : "import org.apache.hudi.common.util.HoodieTimer;"
    }, {
      "pathFrom" : "hudi-timeline-service/src/main/java/org/apache/hudi/timeline/service/handlers/marker/BatchedMarkerCreationRunnable.java",
      "evidence" : "import org.apache.hudi.common.util.HoodieTimer;"
    }, {
      "pathFrom" : "hudi-timeline-service/src/main/java/org/apache/hudi/timeline/service/handlers/marker/MarkerCreationDispatchingRunnable.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-timeline-service/src/main/java/org/apache/hudi/timeline/service/handlers/marker/MarkerCreationFuture.java",
      "evidence" : "import org.apache.hudi.common.util.HoodieTimer;"
    } ],
    "toComponent" : "hudi-common",
    "count" : 14,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-timeline-service -> hudi-common"
  }, {
    "fromComponent" : "hudi-timeline-service",
    "locFrom" : 1283,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-timeline-service/src/main/java/org/apache/hudi/timeline/service/RequestHandler.java",
      "evidence" : "import org.apache.hudi.common.metrics.Registry;"
    }, {
      "pathFrom" : "hudi-timeline-service/src/main/java/org/apache/hudi/timeline/service/handlers/MarkerHandler.java",
      "evidence" : "import org.apache.hudi.common.metrics.Registry;"
    }, {
      "pathFrom" : "hudi-timeline-service/src/main/java/org/apache/hudi/timeline/service/handlers/InstantStateHandler.java",
      "evidence" : "import org.apache.hudi.exception.HoodieIOException;"
    }, {
      "pathFrom" : "hudi-timeline-service/src/main/java/org/apache/hudi/timeline/service/handlers/marker/MarkerBasedEarlyConflictDetectionRunnable.java",
      "evidence" : "import org.apache.hudi.storage.StoragePath;"
    }, {
      "pathFrom" : "hudi-timeline-service/src/main/java/org/apache/hudi/timeline/service/handlers/marker/MarkerDirState.java",
      "evidence" : "import org.apache.hudi.common.metrics.Registry;"
    }, {
      "pathFrom" : "hudi-timeline-service/src/main/java/org/apache/hudi/timeline/service/handlers/marker/BatchedMarkerCreationRunnable.java",
      "evidence" : "import org.apache.hudi.common.util.HoodieTimer;"
    }, {
      "pathFrom" : "hudi-timeline-service/src/main/java/org/apache/hudi/timeline/service/handlers/marker/MarkerCreationDispatchingRunnable.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-timeline-service/src/main/java/org/apache/hudi/timeline/service/handlers/marker/MarkerCreationFuture.java",
      "evidence" : "import org.apache.hudi.common.util.HoodieTimer;"
    }, {
      "pathFrom" : "hudi-timeline-service/src/main/java/org/apache/hudi/timeline/service/handlers/marker/AsyncTimelineServerBasedDetectionStrategy.java",
      "evidence" : "import org.apache.hudi.exception.HoodieEarlyConflictDetectionException;"
    } ],
    "toComponent" : "hudi-io",
    "count" : 9,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-timeline-service -> hudi-io"
  }, {
    "fromComponent" : "hudi-timeline-service",
    "locFrom" : 1305,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-timeline-service/src/main/java/org/apache/hudi/timeline/service/RequestHandler.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-timeline-service/src/main/java/org/apache/hudi/timeline/service/handlers/MarkerHandler.java",
      "evidence" : "import org.apache.hudi.exception.HoodieEarlyConflictDetectionException;"
    }, {
      "pathFrom" : "hudi-timeline-service/src/main/java/org/apache/hudi/timeline/service/handlers/InstantStateHandler.java",
      "evidence" : "import org.apache.hudi.exception.HoodieIOException;"
    }, {
      "pathFrom" : "hudi-timeline-service/src/main/java/org/apache/hudi/timeline/service/handlers/FileSliceHandler.java",
      "evidence" : "import org.apache.hudi.common.model.HoodieFileGroup;"
    }, {
      "pathFrom" : "hudi-timeline-service/src/main/java/org/apache/hudi/timeline/service/handlers/marker/MarkerDirState.java",
      "evidence" : "import org.apache.hudi.exception.HoodieEarlyConflictDetectionException;"
    }, {
      "pathFrom" : "hudi-timeline-service/src/main/java/org/apache/hudi/timeline/service/handlers/marker/AsyncTimelineServerBasedDetectionStrategy.java",
      "evidence" : "import org.apache.hudi.exception.HoodieEarlyConflictDetectionException;"
    }, {
      "pathFrom" : "hudi-timeline-service/src/main/java/org/apache/hudi/timeline/service/handlers/marker/MarkerBasedEarlyConflictDetectionRunnable.java",
      "evidence" : "import org.apache.hudi.exception.HoodieIOException;"
    } ],
    "toComponent" : "hudi-client",
    "count" : 7,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-timeline-service -> hudi-client"
  }, {
    "fromComponent" : "hudi-flink-datasource",
    "locFrom" : 3777,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/util/StreamerUtil.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/util/ClientIds.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/util/ViewStorageProperties.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/cow/CopyOnWriteInputFormat.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/partitioner/profile/WriteProfiles.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/meta/CkpMetadataFactory.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/schema/FilebasedSchemaProvider.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/catalog/HoodieHiveCatalog.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/catalog/HoodieCatalog.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/catalog/TableOptionProperties.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/FormatUtils.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/FilePathUtils.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/cdc/CdcInputFormat.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    } ],
    "toComponent" : "hudi-hadoop-common",
    "count" : 13,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-flink-datasource -> hudi-hadoop-common"
  }, {
    "fromComponent" : "hudi-flink-datasource",
    "locFrom" : 8524,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/util/StreamerUtil.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/util/CompactionUtil.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/util/ClientIds.java",
      "evidence" : "import static org.apache.hudi.common.table.HoodieTableMetaClient.AUXILIARYFOLDER_NAME;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/util/ViewStorageProperties.java",
      "evidence" : "import static org.apache.hudi.common.table.HoodieTableMetaClient.AUXILIARYFOLDER_NAME;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/util/FlinkWriteClients.java",
      "evidence" : "import org.apache.hudi.common.table.view.FileSystemViewStorageConfig;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/util/ClusteringUtil.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/HoodieTableSource.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/HoodieTableFactory.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/metrics/FlinkStreamReadMetrics.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstantTimeGenerator;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/metrics/FlinkClusteringMetrics.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/metrics/FlinkCompactionMetrics.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/metrics/FlinkWriteMetrics.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstantTimeGenerator;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/configuration/FlinkOptions.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/configuration/OptionsResolver.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.TimelineUtils.HollowCommitHandling;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/StreamReadMonitoringFunction.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/IncrementalInputSplits.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/StreamWriteOperatorCoordinator.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/compact/CompactOperator.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/compact/HoodieFlinkCompactor.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/compact/CompactionPlanOperator.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/compact/CompactionPlanSourceFunction.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieTimeline;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/compact/strategy/CompactionPlanStrategies.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/compact/strategy/CompactionPlanStrategy.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/bootstrap/BootstrapOperator.java",
      "evidence" : "import org.apache.hudi.common.table.TableSchemaResolver;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/partitioner/profile/WriteProfile.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/partitioner/profile/DeltaWriteProfile.java",
      "evidence" : "import org.apache.hudi.common.table.view.SyncableFileSystemView;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/partitioner/profile/WriteProfiles.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/clustering/ClusteringOperator.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/clustering/HoodieFlinkClusteringJob.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/clustering/FlinkClusteringConfig.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/clustering/ClusteringCommitSink.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/clustering/ClusteringPlanOperator.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/clustering/update/strategy/FlinkConsistentBucketUpdateStrategy.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/meta/CkpMetadata.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/common/AbstractStreamWriteFunction.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/bucket/ConsistentBucketAssignFunction.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/catalog/HoodieHiveCatalog.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/catalog/HoodieCatalog.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/catalog/HoodieCatalogUtil.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/catalog/TableOptionProperties.java",
      "evidence" : "import org.apache.hudi.common.table.TableSchemaResolver;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/InternalSchemaManager.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    } ],
    "toComponent" : "hudi-platform-service",
    "count" : 41,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-flink-datasource -> hudi-platform-service"
  }, {
    "fromComponent" : "hudi-flink-datasource",
    "locFrom" : 19199,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/util/StreamerUtil.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/util/CompactionUtil.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/util/ClientIds.java",
      "evidence" : "import static org.apache.hudi.common.table.HoodieTableMetaClient.AUXILIARYFOLDER_NAME;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/util/ViewStorageProperties.java",
      "evidence" : "import static org.apache.hudi.common.table.HoodieTableMetaClient.AUXILIARYFOLDER_NAME;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/util/FlinkWriteClients.java",
      "evidence" : "import org.apache.hudi.common.table.view.FileSystemViewStorageConfig;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/util/ClusteringUtil.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/util/FlinkTables.java",
      "evidence" : "import org.apache.hudi.common.config.SerializableConfiguration;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/HoodieTableSource.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/HoodieTableFactory.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/metrics/FlinkStreamReadMetrics.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstantTimeGenerator;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/metrics/FlinkClusteringMetrics.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/metrics/FlinkCompactionMetrics.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/metrics/FlinkWriteMetrics.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstantTimeGenerator;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/adapter/Utils.java",
      "evidence" : "import org.apache.hudi.exception.HoodieNotSupportedException;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/adapter/Utils.java",
      "evidence" : "import org.apache.hudi.exception.HoodieNotSupportedException;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/adapter/Utils.java",
      "evidence" : "import org.apache.hudi.internal.schema.InternalSchema;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/adapter/Utils.java",
      "evidence" : "import org.apache.hudi.internal.schema.InternalSchema;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/adapter/Utils.java",
      "evidence" : "import org.apache.hudi.internal.schema.InternalSchema;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
      "evidence" : "import org.apache.hudi.common.util.ValidationUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
      "evidence" : "import org.apache.hudi.common.util.ValidationUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
      "evidence" : "import org.apache.hudi.common.util.ValidationUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
      "evidence" : "import org.apache.hudi.common.util.ValidationUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
      "evidence" : "import org.apache.hudi.common.util.ValidationUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/cow/CopyOnWriteInputFormat.java",
      "evidence" : "import org.apache.hudi.common.util.collection.ClosableIterator;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/configuration/FlinkOptions.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/configuration/OptionsResolver.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.TimelineUtils.HollowCommitHandling;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/StreamReadMonitoringFunction.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/IncrementalInputSplits.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/ExpressionEvaluators.java",
      "evidence" : "import org.apache.hudi.common.util.ValidationUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/ExpressionPredicates.java",
      "evidence" : "import static org.apache.hudi.common.util.ValidationUtils.checkState;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/FileIndex.java",
      "evidence" : "import org.apache.hudi.common.util.collection.Pair;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/prune/PartitionPruners.java",
      "evidence" : "import org.apache.hudi.common.util.ValidationUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/prune/PrimaryKeyPruners.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/stats/ColumnStatsIndices.java",
      "evidence" : "import org.apache.hudi.common.util.ValidationUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/StreamWriteOperatorCoordinator.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/StreamWriteFunction.java",
      "evidence" : "import org.apache.hudi.common.util.HoodieRecordUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/compact/CompactOperator.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/compact/HoodieFlinkCompactor.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/compact/CompactionPlanOperator.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/compact/CompactionPlanSourceFunction.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieTimeline;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/compact/CompactionCommitSink.java",
      "evidence" : "import org.apache.hudi.common.util.CompactionUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/compact/FlinkCompactionConfig.java",
      "evidence" : "import org.apache.hudi.common.util.FileIOUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/compact/CompactionPlanEvent.java",
      "evidence" : "import org.apache.hudi.common.model.CompactionOperation;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/compact/strategy/CompactionPlanStrategies.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/compact/strategy/CompactionPlanStrategy.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/bulk/RowDataKeyGen.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/bulk/AutoRowDataKeyGen.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/bulk/BulkInsertWriterHelper.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/bulk/BulkInsertWriteFunction.java",
      "evidence" : "import org.apache.hudi.common.model.WriteOperationType;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/overwrite/PartitionOverwriteMode.java",
      "evidence" : "import org.apache.hudi.common.config.EnumDescription;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/bootstrap/BootstrapOperator.java",
      "evidence" : "import org.apache.hudi.common.table.TableSchemaResolver;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/bootstrap/IndexRecord.java",
      "evidence" : "import org.apache.hudi.common.model.HoodieAvroRecord;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/bootstrap/batch/BatchBootstrapOperator.java",
      "evidence" : "import org.apache.hudi.common.model.HoodieRecord;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/partitioner/BucketAssignFunction.java",
      "evidence" : "import org.apache.hudi.common.config.SerializableConfiguration;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/partitioner/BucketAssigners.java",
      "evidence" : "import org.apache.hudi.common.model.HoodieTableType;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/partitioner/BucketIndexPartitioner.java",
      "evidence" : "import org.apache.hudi.common.model.HoodieKey;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/partitioner/BucketAssigner.java",
      "evidence" : "import org.apache.hudi.common.fs.FSUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/partitioner/profile/WriteProfile.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/partitioner/profile/DeltaWriteProfile.java",
      "evidence" : "import org.apache.hudi.common.table.view.SyncableFileSystemView;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/partitioner/profile/WriteProfiles.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/append/AppendWriteFunction.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/clustering/ClusteringOperator.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/clustering/HoodieFlinkClusteringJob.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/clustering/FlinkClusteringConfig.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/clustering/ClusteringCommitSink.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/clustering/ClusteringPlanOperator.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/clustering/ClusteringPlanSourceFunction.java",
      "evidence" : "import org.apache.hudi.common.model.ClusteringGroupInfo;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/clustering/ClusteringPlanEvent.java",
      "evidence" : "import org.apache.hudi.common.model.ClusteringGroupInfo;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/clustering/update/strategy/FlinkConsistentBucketUpdateStrategy.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/meta/CkpMetadata.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/meta/CkpMessage.java",
      "evidence" : "import org.apache.hudi.common.util.ValidationUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/meta/TimelineBasedCkpMetadata.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.dto.InstantStateDTO;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/utils/HiveSyncContext.java",
      "evidence" : "import org.apache.hudi.common.util.ReflectionUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/utils/PayloadCreation.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/utils/Pipelines.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/utils/TimeWait.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/common/AbstractStreamWriteFunction.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/bucket/ConsistentBucketAssignFunction.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.HoodieInstant;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/bucket/ConsistentBucketStreamWriteFunction.java",
      "evidence" : "import org.apache.hudi.common.util.collection.Pair;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/bucket/BucketStreamWriteFunction.java",
      "evidence" : "import org.apache.hudi.common.model.HoodieKey;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/transform/RowDataToHoodieFunctionWithRateLimit.java",
      "evidence" : "import org.apache.hudi.common.util.RateLimiter;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/transform/RowDataToHoodieFunction.java",
      "evidence" : "import org.apache.hudi.keygen.KeyGenerator;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/transform/RowDataToHoodieFunctions.java",
      "evidence" : "import org.apache.hudi.common.model.HoodieRecord;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/event/WriteMetadataEvent.java",
      "evidence" : "import org.apache.hudi.common.util.ValidationUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/schema/SchemaRegistryProvider.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.OLD_SCHEMAPROVIDER_CONFIG_PREFIX;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/schema/FilebasedSchemaProvider.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.OLD_SCHEMAPROVIDER_CONFIG_PREFIX;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/streamer/FlinkStreamerConfig.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/streamer/HoodieFlinkStreamer.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/catalog/HoodieHiveCatalog.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/catalog/HoodieCatalog.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/catalog/HoodieCatalogUtil.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/catalog/TableOptionProperties.java",
      "evidence" : "import org.apache.hudi.common.table.TableSchemaResolver;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/catalog/HiveSchemaUtils.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/catalog/HoodieCatalogFactory.java",
      "evidence" : "import org.apache.hudi.exception.HoodieCatalogException;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/InternalSchemaManager.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/FormatUtils.java",
      "evidence" : "import org.apache.hudi.common.util.DefaultSizeEstimator;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/RecordIterators.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/TypeConverters.java",
      "evidence" : "import org.apache.hudi.common.util.ValidationUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/CastMap.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/ParquetSplitRecordIterator.java",
      "evidence" : "import org.apache.hudi.exception.HoodieIOException;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/SchemaEvolvedRecordIterator.java",
      "evidence" : "import org.apache.hudi.common.util.collection.ClosableIterator;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/cdc/CdcInputSplit.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/cdc/CdcInputFormat.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/mor/MergeOnReadInputSplit.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/mor/MergeOnReadInputFormat.java",
      "evidence" : "import org.apache.hudi.common.util.HoodieRecordUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/mor/MergeOnReadTableState.java",
      "evidence" : "import org.apache.hudi.common.model.HoodieRecord;"
    } ],
    "toComponent" : "hudi-common",
    "count" : 106,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-flink-datasource -> hudi-common"
  }, {
    "fromComponent" : "hudi-flink-datasource",
    "locFrom" : 16648,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/util/ClientIds.java",
      "evidence" : "import org.apache.hudi.storage.StoragePath;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/util/ViewStorageProperties.java",
      "evidence" : "import org.apache.hudi.storage.StoragePath;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/HoodieTableSource.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/HoodieTableFactory.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/metrics/FlinkClusteringMetrics.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/metrics/FlinkCompactionMetrics.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/adapter/Utils.java",
      "evidence" : "import org.apache.hudi.exception.HoodieNotSupportedException;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/adapter/Utils.java",
      "evidence" : "import org.apache.hudi.exception.HoodieNotSupportedException;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
      "evidence" : "import org.apache.hudi.common.util.ValidationUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
      "evidence" : "import org.apache.hudi.common.util.ValidationUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
      "evidence" : "import org.apache.hudi.common.util.ValidationUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
      "evidence" : "import org.apache.hudi.common.util.ValidationUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
      "evidence" : "import org.apache.hudi.common.util.ValidationUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/configuration/FlinkOptions.java",
      "evidence" : "import static org.apache.hudi.common.util.PartitionPathEncodeUtils.DEFAULT_PARTITION_PATH;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/configuration/OptionsResolver.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/FileIndex.java",
      "evidence" : "import org.apache.hudi.storage.StoragePath;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/ExpressionEvaluators.java",
      "evidence" : "import org.apache.hudi.common.util.ValidationUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/ExpressionPredicates.java",
      "evidence" : "import static org.apache.hudi.common.util.ValidationUtils.checkState;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/StreamReadMonitoringFunction.java",
      "evidence" : "import org.apache.hudi.common.util.ValidationUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/IncrementalInputSplits.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/prune/PartitionPruners.java",
      "evidence" : "import org.apache.hudi.common.util.ValidationUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/prune/PrimaryKeyPruners.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/stats/ColumnStatsIndices.java",
      "evidence" : "import org.apache.hudi.common.util.ValidationUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/StreamWriteFunction.java",
      "evidence" : "import org.apache.hudi.common.util.HoodieRecordUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/StreamWriteOperatorCoordinator.java",
      "evidence" : "import org.apache.hudi.common.util.CommitUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/compact/CompactionCommitSink.java",
      "evidence" : "import org.apache.hudi.common.util.CompactionUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/compact/FlinkCompactionConfig.java",
      "evidence" : "import org.apache.hudi.common.util.FileIOUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/compact/CompactionPlanOperator.java",
      "evidence" : "import org.apache.hudi.common.util.CompactionUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/compact/HoodieFlinkCompactor.java",
      "evidence" : "import org.apache.hudi.common.util.CompactionUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/compact/strategy/CompactionPlanStrategies.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/bulk/RowDataKeyGen.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/bulk/AutoRowDataKeyGen.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/bulk/BulkInsertWriterHelper.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/bootstrap/BootstrapOperator.java",
      "evidence" : "import org.apache.hudi.common.util.BaseFileUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/partitioner/profile/WriteProfiles.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/append/AppendWriteFunction.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/clustering/ClusteringOperator.java",
      "evidence" : "import org.apache.hudi.io.IOUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/clustering/HoodieFlinkClusteringJob.java",
      "evidence" : "import org.apache.hudi.common.util.ClusteringUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/clustering/ClusteringCommitSink.java",
      "evidence" : "import org.apache.hudi.common.util.ClusteringUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/clustering/ClusteringPlanOperator.java",
      "evidence" : "import org.apache.hudi.common.util.ClusteringUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/clustering/update/strategy/FlinkConsistentBucketUpdateStrategy.java",
      "evidence" : "import org.apache.hudi.common.util.ClusteringUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/meta/CkpMetadata.java",
      "evidence" : "import org.apache.hudi.storage.StoragePath;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/meta/CkpMessage.java",
      "evidence" : "import org.apache.hudi.common.util.ValidationUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/utils/HiveSyncContext.java",
      "evidence" : "import org.apache.hudi.common.util.ReflectionUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/utils/PayloadCreation.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/utils/Pipelines.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/utils/TimeWait.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/common/AbstractStreamWriteFunction.java",
      "evidence" : "import org.apache.hudi.common.util.ValidationUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/bucket/ConsistentBucketAssignFunction.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/transform/RowDataToHoodieFunctionWithRateLimit.java",
      "evidence" : "import org.apache.hudi.common.util.RateLimiter;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/event/WriteMetadataEvent.java",
      "evidence" : "import org.apache.hudi.common.util.ValidationUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/schema/SchemaRegistryProvider.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.OLD_SCHEMAPROVIDER_CONFIG_PREFIX;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/schema/FilebasedSchemaProvider.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.OLD_SCHEMAPROVIDER_CONFIG_PREFIX;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/streamer/FlinkStreamerConfig.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/streamer/HoodieFlinkStreamer.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/catalog/TableOptionProperties.java",
      "evidence" : "import org.apache.hudi.storage.StoragePath;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/catalog/HoodieHiveCatalog.java",
      "evidence" : "import org.apache.hudi.common.util.ConfigUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/catalog/HoodieCatalog.java",
      "evidence" : "import org.apache.hudi.common.util.CollectionUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/catalog/HiveSchemaUtils.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/catalog/HoodieCatalogUtil.java",
      "evidence" : "import org.apache.hudi.exception.HoodieCatalogException;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/catalog/HoodieCatalogFactory.java",
      "evidence" : "import org.apache.hudi.exception.HoodieCatalogException;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/FilePathUtils.java",
      "evidence" : "import org.apache.hudi.storage.StoragePath;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/InternalSchemaManager.java",
      "evidence" : "import org.apache.hudi.common.util.InternalSchemaCache;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/FormatUtils.java",
      "evidence" : "import org.apache.hudi.common.util.DefaultSizeEstimator;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/RecordIterators.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/TypeConverters.java",
      "evidence" : "import org.apache.hudi.common.util.ValidationUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/CastMap.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/ParquetSplitRecordIterator.java",
      "evidence" : "import org.apache.hudi.exception.HoodieIOException;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/cdc/CdcInputSplit.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/cdc/CdcInputFormat.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/mor/MergeOnReadInputSplit.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/mor/MergeOnReadInputFormat.java",
      "evidence" : "import org.apache.hudi.common.util.HoodieRecordUtils;"
    } ],
    "toComponent" : "hudi-io",
    "count" : 72,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-flink-datasource -> hudi-io"
  }, {
    "fromComponent" : "hudi-flink-datasource",
    "locFrom" : 13172,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/util/StreamerUtil.java",
      "evidence" : "import org.apache.hudi.keygen.ComplexAvroKeyGenerator;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/util/CompactionUtil.java",
      "evidence" : "import org.apache.hudi.metadata.HoodieTableMetadata;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/util/FlinkWriteClients.java",
      "evidence" : "import org.apache.hudi.table.action.compact.CompactionTriggerStrategy;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/util/ClusteringUtil.java",
      "evidence" : "import org.apache.hudi.index.HoodieIndex;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/util/FlinkTables.java",
      "evidence" : "import org.apache.hudi.client.FlinkTaskContextSupplier;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/adapter/Utils.java",
      "evidence" : "import org.apache.hudi.exception.HoodieNotSupportedException;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/adapter/Utils.java",
      "evidence" : "import org.apache.hudi.exception.HoodieNotSupportedException;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/configuration/FlinkOptions.java",
      "evidence" : "import org.apache.hudi.config.HoodieIndexConfig;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/configuration/OptionsResolver.java",
      "evidence" : "import org.apache.hudi.config.HoodieCleanConfig;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/IncrementalInputSplits.java",
      "evidence" : "import org.apache.hudi.common.table.log.InstantRange;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/FileIndex.java",
      "evidence" : "import org.apache.hudi.client.common.HoodieFlinkEngineContext;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/filedistribution/partitioner/StreamReadBucketIndexPartitioner.java",
      "evidence" : "import org.apache.hudi.index.bucket.BucketIdentifier;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/prune/PrimaryKeyPruners.java",
      "evidence" : "import org.apache.hudi.index.bucket.BucketIdentifier;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/stats/ColumnStatsIndices.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/StreamWriteOperatorCoordinator.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/StreamWriteFunction.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/CleanFunction.java",
      "evidence" : "import org.apache.hudi.client.HoodieFlinkWriteClient;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/compact/CompactOperator.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/compact/CompactionCommitSink.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/compact/HoodieFlinkCompactor.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/compact/FlinkCompactionConfig.java",
      "evidence" : "import org.apache.hudi.common.model.HoodieCleaningPolicy;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/compact/CompactionPlanOperator.java",
      "evidence" : "import org.apache.hudi.common.model.CompactionOperation;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/compact/CompactionPlanEvent.java",
      "evidence" : "import org.apache.hudi.common.model.CompactionOperation;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/compact/CompactionPlanSourceFunction.java",
      "evidence" : "import org.apache.hudi.common.model.CompactionOperation;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/compact/CompactionCommitEvent.java",
      "evidence" : "import org.apache.hudi.client.WriteStatus;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/bulk/WriterHelpers.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/bulk/BulkInsertWriterHelper.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/bulk/RowDataKeyGen.java",
      "evidence" : "import org.apache.hudi.exception.HoodieKeyException;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/bulk/AutoRowDataKeyGen.java",
      "evidence" : "import org.apache.hudi.common.model.HoodieRecord;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/bulk/BulkInsertWriteFunction.java",
      "evidence" : "import org.apache.hudi.common.model.WriteOperationType;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/bootstrap/BootstrapOperator.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/bootstrap/IndexRecord.java",
      "evidence" : "import org.apache.hudi.common.model.HoodieAvroRecord;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/bootstrap/batch/BatchBootstrapOperator.java",
      "evidence" : "import org.apache.hudi.common.model.HoodieRecord;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/partitioner/BucketAssigner.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/partitioner/BucketAssignFunction.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/partitioner/BucketAssigners.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/partitioner/BucketIndexPartitioner.java",
      "evidence" : "import org.apache.hudi.common.model.HoodieKey;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/partitioner/profile/EmptyWriteProfile.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/partitioner/profile/WriteProfile.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/partitioner/profile/DeltaWriteProfile.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/partitioner/profile/WriteProfiles.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/append/AppendWriteFunction.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/clustering/ClusteringOperator.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/clustering/HoodieFlinkClusteringJob.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/clustering/ClusteringCommitSink.java",
      "evidence" : "import org.apache.hudi.exception.HoodieClusteringException;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/clustering/FlinkClusteringConfig.java",
      "evidence" : "import org.apache.hudi.common.model.HoodieCleaningPolicy;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/clustering/ClusteringPlanSourceFunction.java",
      "evidence" : "import org.apache.hudi.common.model.ClusteringGroupInfo;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/clustering/ClusteringPlanEvent.java",
      "evidence" : "import org.apache.hudi.common.model.ClusteringGroupInfo;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/clustering/ClusteringPlanOperator.java",
      "evidence" : "import org.apache.hudi.common.model.ClusteringGroupInfo;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/clustering/ClusteringCommitEvent.java",
      "evidence" : "import org.apache.hudi.client.WriteStatus;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/clustering/update/strategy/FlinkConsistentBucketUpdateStrategy.java",
      "evidence" : "import org.apache.hudi.common.model.HoodieAvroRecord;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/meta/TimelineBasedCkpMetadata.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/meta/CkpMetadataFactory.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/meta/CkpMetadata.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/utils/TimeWait.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/utils/Pipelines.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/utils/PayloadCreation.java",
      "evidence" : "import org.apache.hudi.common.model.BaseAvroPayload;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/common/AbstractStreamWriteFunction.java",
      "evidence" : "import org.apache.hudi.client.HoodieFlinkWriteClient;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/bucket/BucketBulkInsertWriterHelper.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/bucket/ConsistentBucketAssignFunction.java",
      "evidence" : "import org.apache.hudi.exception.HoodieLockException;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/bucket/ConsistentBucketStreamWriteFunction.java",
      "evidence" : "import org.apache.hudi.common.model.HoodieFileGroupId;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/bucket/BucketStreamWriteFunction.java",
      "evidence" : "import org.apache.hudi.common.model.HoodieKey;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/transform/RowDataToHoodieFunction.java",
      "evidence" : "import org.apache.hudi.keygen.KeyGenerator;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/transform/RowDataToHoodieFunctions.java",
      "evidence" : "import org.apache.hudi.common.model.HoodieRecord;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/transform/RowDataToHoodieFunctionWithRateLimit.java",
      "evidence" : "import org.apache.hudi.common.model.HoodieRecord;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/event/WriteMetadataEvent.java",
      "evidence" : "import org.apache.hudi.client.WriteStatus;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/schema/SchemaRegistryProvider.java",
      "evidence" : "import org.apache.hudi.exception.HoodieIOException;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/schema/FilebasedSchemaProvider.java",
      "evidence" : "import org.apache.hudi.exception.HoodieIOException;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/streamer/FlinkStreamerConfig.java",
      "evidence" : "import org.apache.hudi.common.model.HoodieAvroRecordMerger;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/streamer/HoodieFlinkStreamer.java",
      "evidence" : "import org.apache.hudi.common.model.HoodieRecord;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/catalog/HoodieCatalogUtil.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/catalog/HoodieHiveCatalog.java",
      "evidence" : "import org.apache.hudi.exception.HoodieCatalogException;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/catalog/HoodieCatalog.java",
      "evidence" : "import org.apache.hudi.exception.HoodieMetadataException;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/catalog/TableOptionProperties.java",
      "evidence" : "import org.apache.hudi.exception.HoodieIOException;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/catalog/HoodieCatalogFactory.java",
      "evidence" : "import org.apache.hudi.exception.HoodieCatalogException;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/catalog/HiveSchemaUtils.java",
      "evidence" : "import org.apache.hudi.common.model.HoodieRecord;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/FormatUtils.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/ParquetSplitRecordIterator.java",
      "evidence" : "import org.apache.hudi.exception.HoodieIOException;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/cdc/CdcInputFormat.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/mor/MergeOnReadInputFormat.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/mor/MergeOnReadInputSplit.java",
      "evidence" : "import org.apache.hudi.common.table.log.InstantRange;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/mor/MergeOnReadTableState.java",
      "evidence" : "import org.apache.hudi.common.model.HoodieRecord;"
    } ],
    "toComponent" : "hudi-client",
    "count" : 82,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-flink-datasource -> hudi-client"
  }, {
    "fromComponent" : "hudi-common",
    "locFrom" : 2750,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieNativeAvroHFileReader.java",
      "evidence" : "import org.apache.hudi.io.ByteArraySeekableDataInputStream;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/common/bootstrap/index/HFileBootstrapIndex.java",
      "evidence" : "import org.apache.hudi.io.SeekableDataInputStream;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/HoodieLogFileReader.java",
      "evidence" : "import org.apache.hudi.io.SeekableDataInputStream;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/block/HoodieCorruptBlock.java",
      "evidence" : "import org.apache.hudi.io.SeekableDataInputStream;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/block/HoodieLogBlock.java",
      "evidence" : "import org.apache.hudi.io.SeekableDataInputStream;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/block/HoodieDeleteBlock.java",
      "evidence" : "import org.apache.hudi.io.SeekableDataInputStream;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/block/HoodieAvroDataBlock.java",
      "evidence" : "import org.apache.hudi.io.SeekableDataInputStream;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/block/HoodieCommandBlock.java",
      "evidence" : "import org.apache.hudi.io.SeekableDataInputStream;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/block/HoodieHFileDataBlock.java",
      "evidence" : "import org.apache.hudi.io.SeekableDataInputStream;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/block/HoodieDataBlock.java",
      "evidence" : "import org.apache.hudi.io.SeekableDataInputStream;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/block/HoodieParquetDataBlock.java",
      "evidence" : "import org.apache.hudi.io.SeekableDataInputStream;"
    }, {
      "pathFrom" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/block/HoodieCDCDataBlock.java",
      "evidence" : "import org.apache.hudi.io.SeekableDataInputStream;"
    } ],
    "toComponent" : "hudi-client",
    "count" : 12,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-common -> hudi-client"
  }, {
    "fromComponent" : "hudi-client",
    "locFrom" : 495,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/io/storage/HoodieSparkParquetReader.java",
      "evidence" : "import org.apache.spark.sql.execution.datasources.parquet.ParquetReadSupport;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/io/storage/row/HoodieRowParquetWriteSupport.java",
      "evidence" : "import org.apache.spark.sql.execution.datasources.parquet.ParquetWriteSupport;"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/scala/org/apache/hudi/HoodieDatasetBulkInsertHelper.scala",
      "evidence" : "import org.apache.spark.sql.catalyst.plans.logical.Project"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/scala/org/apache/spark/sql/hudi/SparkAdapter.scala",
      "evidence" : "import org.apache.spark.sql.execution.datasources.parquet.ParquetFileFormat"
    }, {
      "pathFrom" : "hudi-client/hudi-spark-client/src/main/scala/org/apache/hudi/util/CloseableInternalRowIterator.scala",
      "evidence" : "import org.apache.spark.sql.vectorized.ColumnarBatch"
    } ],
    "toComponent" : "hudi-spark-datasource",
    "count" : 5,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-client -> hudi-spark-datasource"
  }, {
    "fromComponent" : "hudi-client",
    "locFrom" : 45,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metrics/cloudwatch/CloudWatchMetricsReporter.java",
      "evidence" : "import org.apache.hudi.aws.cloudwatch.CloudWatchReporter;"
    } ],
    "toComponent" : "hudi-aws",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-client -> hudi-aws"
  }, {
    "fromComponent" : "hudi-client",
    "locFrom" : 242,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/marker/ConflictDetectionUtils.java",
      "evidence" : "import org.apache.hudi.timeline.service.handlers.marker.AsyncTimelineServerBasedDetectionStrategy;"
    }, {
      "pathFrom" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/embedded/EmbeddedTimelineService.java",
      "evidence" : "import org.apache.hudi.timeline.service.TimelineService;"
    } ],
    "toComponent" : "hudi-timeline-service",
    "count" : 2,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-client -> hudi-timeline-service"
  }, {
    "fromComponent" : "hudi-utilities",
    "locFrom" : 6194,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieCompactor.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieSnapshotExporter.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieSnapshotCopier.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/TableSizeStats.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieRepairTool.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HDFSParquetImporter.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
      "evidence" : "import static org.apache.hudi.hadoop.fs.CachingPath.getPathWithoutSchemeAndAuthority;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDropPartitionsTool.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieCompactionAdminTool.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/schema/FilebasedSchemaProvider.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieMultiTableStreamer.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/SparkSampleWritesUtils.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.CachingPath;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamer.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/StreamSync.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/SqlFileBasedSource.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/HiveIncrPullSource.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/CloudObjectsSelectorCommon.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/DFSPathSelector.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/perf/TimelineServerPerf.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/transform/SqlFileBasedTransformer.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    } ],
    "toComponent" : "hudi-hadoop-common",
    "count" : 20,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-utilities -> hudi-hadoop-common"
  }, {
    "fromComponent" : "hudi-utilities",
    "locFrom" : 4699,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieCleaner.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieIndexer.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieTTLJob.java",
      "evidence" : "import org.apache.hudi.config.HoodieCleanConfig;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieCompactor.java",
      "evidence" : "import org.apache.hudi.config.HoodieCleanConfig;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieClusteringJob.java",
      "evidence" : "import org.apache.hudi.config.HoodieCleanConfig;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/UtilHelpers.java",
      "evidence" : "import org.apache.hudi.config.HoodieCompactionConfig;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDropPartitionsTool.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/ingestion/HoodieIngestionMetrics.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/config/HoodieStreamerConfig.java",
      "evidence" : "import static org.apache.hudi.config.HoodieCompactionConfig.COPY_ON_WRITE_RECORD_SIZE_ESTIMATE;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamerMetrics.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamerUtils.java",
      "evidence" : "import static org.apache.hudi.config.HoodieErrorTableConfig.ERROR_ENABLE_VALIDATE_RECORD_CREATION;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/BootstrapExecutor.java",
      "evidence" : "import org.apache.hudi.config.HoodieCompactionConfig;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/ErrorTableUtils.java",
      "evidence" : "import org.apache.hudi.config.HoodieErrorTableConfig;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/SparkSampleWritesUtils.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamer.java",
      "evidence" : "import org.apache.hudi.config.HoodieClusteringConfig;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/StreamSync.java",
      "evidence" : "import org.apache.hudi.config.HoodieClusteringConfig;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/deltastreamer/HoodieDeltaStreamerMetrics.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/processor/maxwell/MaxwellJsonKafkaSourcePostProcessor.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/multitable/ArchiveTask.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/callback/kafka/HoodieWriteCommitKafkaCallback.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/callback/kafka/HoodieWriteCommitKafkaCallbackConfig.java",
      "evidence" : "import static org.apache.hudi.config.HoodieWriteCommitCallbackConfig.CALLBACK_PREFIX;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/callback/pulsar/HoodieWriteCommitPulsarCallbackConfig.java",
      "evidence" : "import static org.apache.hudi.config.HoodieWriteCommitCallbackConfig.CALLBACK_PREFIX;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/callback/pulsar/HoodieWriteCommitPulsarCallback.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    } ],
    "toComponent" : "hudi-aws",
    "count" : 23,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-utilities -> hudi-aws"
  }, {
    "fromComponent" : "hudi-utilities",
    "locFrom" : 13313,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieCleaner.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieIndexer.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieTTLJob.java",
      "evidence" : "import org.apache.hudi.config.HoodieCleanConfig;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieCompactor.java",
      "evidence" : "import org.apache.hudi.config.HoodieCleanConfig;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieClusteringJob.java",
      "evidence" : "import org.apache.hudi.config.HoodieCleanConfig;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/UtilHelpers.java",
      "evidence" : "import org.apache.hudi.config.HoodieCompactionConfig;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDropPartitionsTool.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HiveIncrementalPuller.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/TableSizeStats.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieRepairTool.java",
      "evidence" : "import org.apache.hudi.exception.HoodieIOException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HDFSParquetImporter.java",
      "evidence" : "import org.apache.hudi.exception.HoodieIOException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieSnapshotExporter.java",
      "evidence" : "import org.apache.hudi.common.model.HoodieBaseFile;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieSnapshotCopier.java",
      "evidence" : "import org.apache.hudi.common.model.HoodieBaseFile;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieCompactionAdminTool.java",
      "evidence" : "import org.apache.hudi.common.model.HoodieFileGroupId;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableUtils.java",
      "evidence" : "import org.apache.hudi.metadata.HoodieTableMetadata;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieWithTimelineServer.java",
      "evidence" : "import org.apache.hudi.client.common.HoodieSparkEngineContext;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/ingestion/HoodieIngestionMetrics.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/ingestion/HoodieIngestionException.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/ingestion/HoodieIngestionService.java",
      "evidence" : "import org.apache.hudi.async.HoodieAsyncService;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/config/HoodieStreamerConfig.java",
      "evidence" : "import static org.apache.hudi.config.HoodieCompactionConfig.COPY_ON_WRITE_RECORD_SIZE_ESTIMATE;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/deser/KafkaAvroSchemaDeserializer.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/schema/RowBasedSchemaProvider.java",
      "evidence" : "import org.apache.hudi.AvroConversionUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/schema/SchemaProvider.java",
      "evidence" : "import org.apache.hudi.ApiMaturityLevel;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/schema/SparkAvroPostProcessor.java",
      "evidence" : "import org.apache.hudi.AvroConversionUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/schema/HiveSchemaProvider.java",
      "evidence" : "import org.apache.hudi.AvroConversionUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/schema/LazyCastingIterator.java",
      "evidence" : "import org.apache.hudi.client.utils.LazyIterableIterator;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/schema/postprocessor/DeleteSupportSchemaPostProcessor.java",
      "evidence" : "import org.apache.hudi.common.model.HoodieRecord;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamerMetrics.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamerUtils.java",
      "evidence" : "import static org.apache.hudi.config.HoodieErrorTableConfig.ERROR_ENABLE_VALIDATE_RECORD_CREATION;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/BootstrapExecutor.java",
      "evidence" : "import org.apache.hudi.config.HoodieCompactionConfig;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/ErrorTableUtils.java",
      "evidence" : "import org.apache.hudi.config.HoodieErrorTableConfig;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/SparkSampleWritesUtils.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamer.java",
      "evidence" : "import org.apache.hudi.config.HoodieClusteringConfig;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/StreamSync.java",
      "evidence" : "import org.apache.hudi.config.HoodieClusteringConfig;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/SourceFormatAdapter.java",
      "evidence" : "import org.apache.hudi.AvroConversionUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/StreamContext.java",
      "evidence" : "import org.apache.hudi.ApiMaturityLevel;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/SchedulerConfGenerator.java",
      "evidence" : "import org.apache.hudi.HoodieSparkUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/SourceProfile.java",
      "evidence" : "import org.apache.hudi.ApiMaturityLevel;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/SourceProfileSupplier.java",
      "evidence" : "import org.apache.hudi.ApiMaturityLevel;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieMultiTableStreamer.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/ConfigurationHotUpdateStrategyUtils.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/TerminationStrategyUtils.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/BaseErrorTableWriter.java",
      "evidence" : "import org.apache.hudi.common.model.HoodieAvroRecord;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/NoNewDataTerminationStrategy.java",
      "evidence" : "import org.apache.hudi.client.WriteStatus;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/PostWriteTerminationStrategy.java",
      "evidence" : "import org.apache.hudi.client.WriteStatus;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/deltastreamer/HoodieDeltaStreamerMetrics.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/deltastreamer/DeltaSync.java",
      "evidence" : "import org.apache.hudi.client.SparkRDDWriteClient;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/PulsarSource.java",
      "evidence" : "import org.apache.hudi.HoodieConversionUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/RowSource.java",
      "evidence" : "import org.apache.hudi.HoodieSparkUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/Source.java",
      "evidence" : "import org.apache.hudi.ApiMaturityLevel;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/HoodieIncrSource.java",
      "evidence" : "import org.apache.hudi.DataSourceReadOptions;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/JdbcSource.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/SqlFileBasedSource.java",
      "evidence" : "import org.apache.hudi.exception.HoodieIOException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/InputBatch.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/GcsEventsSource.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/SqlSource.java",
      "evidence" : "import org.apache.hudi.common.model.HoodieRecord;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/S3EventsHoodieIncrSource.java",
      "evidence" : "import org.apache.hudi.common.model.HoodieRecord;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/GcsEventsHoodieIncrSource.java",
      "evidence" : "import org.apache.hudi.common.model.HoodieRecord;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/processor/maxwell/MaxwellJsonKafkaSourcePostProcessor.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/CloudObjectsSelectorCommon.java",
      "evidence" : "import org.apache.hudi.AvroConversionUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/QueryInfo.java",
      "evidence" : "import static org.apache.hudi.DataSourceReadOptions.QUERY_TYPE_INCREMENTAL_OPT_VAL;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/QueryRunner.java",
      "evidence" : "import org.apache.hudi.DataSourceReadOptions;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/IncrSourceHelper.java",
      "evidence" : "import org.apache.hudi.DataSourceReadOptions;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/S3EventsMetaSelector.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/IncrSourceCloudStorageHelper.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/KafkaOffsetGen.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/ProtoConversionUtil.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/DFSPathSelector.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/DatePartitionPathSelector.java",
      "evidence" : "import org.apache.hudi.client.common.HoodieSparkEngineContext;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/gcs/PubsubMessagesFetcher.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/debezium/DebeziumSource.java",
      "evidence" : "import org.apache.hudi.AvroConversionUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/multitable/ArchiveTask.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/multitable/MultiTableServiceUtils.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/multitable/HoodieMultiTableServicesMain.java",
      "evidence" : "import org.apache.hudi.exception.HoodieIOException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/callback/kafka/HoodieWriteCommitKafkaCallback.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/callback/kafka/HoodieWriteCommitKafkaCallbackConfig.java",
      "evidence" : "import static org.apache.hudi.config.HoodieWriteCommitCallbackConfig.CALLBACK_PREFIX;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/callback/pulsar/HoodieWriteCommitPulsarCallbackConfig.java",
      "evidence" : "import static org.apache.hudi.config.HoodieWriteCommitCallbackConfig.CALLBACK_PREFIX;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/callback/pulsar/HoodieWriteCommitPulsarCallback.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/checkpointing/InitialCheckPointProvider.java",
      "evidence" : "import org.apache.hudi.ApiMaturityLevel;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/checkpointing/InitialCheckpointFromAnotherHoodieTimelineProvider.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/checkpointing/KafkaConnectHdfsProvider.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/perf/TimelineServerPerf.java",
      "evidence" : "import org.apache.hudi.common.model.FileSlice;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/exception/HoodieReadFromSourceException.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/exception/HoodieSourcePostProcessException.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/exception/HoodieSchemaPostProcessException.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/exception/HoodieSchemaProviderException.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/exception/HoodieIncrementalPullException.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/exception/HoodieSourceTimeoutException.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/exception/HoodieStreamerException.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/exception/HoodieTransformException.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/exception/HoodieSnapshotExporterException.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/transform/Transformer.java",
      "evidence" : "import org.apache.hudi.ApiMaturityLevel;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/transform/ChainedTransformer.java",
      "evidence" : "import org.apache.hudi.AvroConversionUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/transform/AWSDmsTransformer.java",
      "evidence" : "import org.apache.hudi.common.model.AWSDmsAvroPayload;"
    } ],
    "toComponent" : "hudi-client",
    "count" : 96,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-utilities -> hudi-client"
  }, {
    "fromComponent" : "hudi-utilities",
    "locFrom" : 2630,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDropPartitionsTool.java",
      "evidence" : "import org.apache.hudi.hive.HiveSyncConfig;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/config/HoodieIncrSourceConfig.java",
      "evidence" : "import org.apache.hudi.hive.SlashEncodedDayPartitionValueExtractor;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/BootstrapExecutor.java",
      "evidence" : "import org.apache.hudi.hive.HiveSyncConfig;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieMultiTableStreamer.java",
      "evidence" : "import org.apache.hudi.hive.HiveSyncTool;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamer.java",
      "evidence" : "import org.apache.hudi.hive.HiveSyncTool;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/StreamSync.java",
      "evidence" : "import org.apache.hudi.hive.HiveSyncConfig;"
    } ],
    "toComponent" : "hudi-sync",
    "count" : 6,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-utilities -> hudi-sync"
  }, {
    "fromComponent" : "hudi-utilities",
    "locFrom" : 8091,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieIndexer.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieTTLJob.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieCompactor.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieSnapshotExporter.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HiveIncrementalPuller.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieSnapshotCopier.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieClusteringJob.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/TableSizeStats.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieRepairTool.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/UtilHelpers.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HDFSParquetImporter.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDropPartitionsTool.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieCompactionAdminTool.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamerUtils.java",
      "evidence" : "import static org.apache.hudi.common.table.HoodieTableConfig.DROP_PARTITION_COLUMNS;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/BootstrapExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/SparkSampleWritesUtils.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamer.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/StreamSync.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/S3EventsHoodieIncrSource.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.TimelineUtils.HollowCommitHandling;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/GcsEventsHoodieIncrSource.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.TimelineUtils.HollowCommitHandling;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/HoodieIncrSource.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.TimelineUtils.HollowCommitHandling;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/IncrSourceHelper.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/multitable/MultiTableServiceUtils.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/multitable/ClusteringTask.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/multitable/CompactionTask.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/checkpointing/InitialCheckpointFromAnotherHoodieTimelineProvider.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/perf/TimelineServerPerf.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    } ],
    "toComponent" : "hudi-platform-service",
    "count" : 29,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-utilities -> hudi-platform-service"
  }, {
    "fromComponent" : "hudi-utilities",
    "locFrom" : 17220,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieIndexer.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieTTLJob.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieCompactor.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieSnapshotExporter.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HiveIncrementalPuller.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieSnapshotCopier.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieClusteringJob.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/TableSizeStats.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieRepairTool.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/UtilHelpers.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HDFSParquetImporter.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDropPartitionsTool.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieCompactionAdminTool.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/SqlQueryBuilder.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieWithTimelineServer.java",
      "evidence" : "import org.apache.hudi.common.util.ValidationUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieCleaner.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableUtils.java",
      "evidence" : "import org.apache.hudi.common.fs.FSUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/ingestion/HoodieIngestionService.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/ingestion/HoodieIngestionException.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/config/SchemaProviderPostProcessorConfig.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.OLD_SCHEMAPROVIDER_CONFIG_PREFIX;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/config/S3SourceConfig.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.DELTA_STREAMER_CONFIG_PREFIX;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/config/GCSEventsSourceConfig.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.DELTA_STREAMER_CONFIG_PREFIX;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/config/JdbcbasedSchemaProviderConfig.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.OLD_SCHEMAPROVIDER_CONFIG_PREFIX;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/config/HiveSchemaProviderConfig.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.OLD_SCHEMAPROVIDER_CONFIG_PREFIX;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/config/HoodieIncrSourceConfig.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.DELTA_STREAMER_CONFIG_PREFIX;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/config/DFSPathSelectorConfig.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.DELTA_STREAMER_CONFIG_PREFIX;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/config/HoodieSchemaProviderConfig.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.OLD_SCHEMAPROVIDER_CONFIG_PREFIX;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/config/PulsarSourceConfig.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.DELTA_STREAMER_CONFIG_PREFIX;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/config/KafkaSourceConfig.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.DELTA_STREAMER_CONFIG_PREFIX;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/config/CloudSourceConfig.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.DELTA_STREAMER_CONFIG_PREFIX;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/config/S3EventsHoodieIncrSourceConfig.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.DELTA_STREAMER_CONFIG_PREFIX;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/config/ParquetDFSSourceConfig.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.DELTA_STREAMER_CONFIG_PREFIX;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/config/ProtoClassBasedSchemaProviderConfig.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.OLD_SCHEMAPROVIDER_CONFIG_PREFIX;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/config/JdbcSourceConfig.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.DELTA_STREAMER_CONFIG_PREFIX;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/config/SqlTransformerConfig.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.DELTA_STREAMER_CONFIG_PREFIX;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/config/JsonKafkaPostProcessorConfig.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.DELTA_STREAMER_CONFIG_PREFIX;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/config/HiveIncrPullSourceConfig.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.DELTA_STREAMER_CONFIG_PREFIX;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/config/DatePartitionPathSelectorConfig.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.DELTA_STREAMER_CONFIG_PREFIX;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/config/SqlSourceConfig.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.DELTA_STREAMER_CONFIG_PREFIX;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/config/HoodieStreamerConfig.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.DELTA_STREAMER_CONFIG_PREFIX;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/config/SqlFileBasedSourceConfig.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.DELTA_STREAMER_CONFIG_PREFIX;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/config/FilebasedSchemaProviderConfig.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.OLD_SCHEMAPROVIDER_CONFIG_PREFIX;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/deser/KafkaAvroSchemaDeserializer.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.getStringWithAltKeys;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/schema/RowBasedSchemaProvider.java",
      "evidence" : "import org.apache.hudi.AvroConversionUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/schema/SchemaProvider.java",
      "evidence" : "import org.apache.hudi.ApiMaturityLevel;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/schema/SparkAvroPostProcessor.java",
      "evidence" : "import org.apache.hudi.AvroConversionUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/schema/HiveSchemaProvider.java",
      "evidence" : "import org.apache.hudi.AvroConversionUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/schema/JdbcbasedSchemaProvider.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.getStringWithAltKeys;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/schema/SchemaRegistryProvider.java",
      "evidence" : "import org.apache.hudi.common.util.ReflectionUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/schema/ProtoClassBasedSchemaProvider.java",
      "evidence" : "import org.apache.hudi.common.util.ReflectionUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/schema/FilebasedSchemaProvider.java",
      "evidence" : "import org.apache.hudi.common.util.FileIOUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/schema/KafkaOffsetPostProcessor.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.getBooleanWithAltKeys;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/schema/SchemaProviderWithPostProcessor.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/schema/SimpleSchemaProvider.java",
      "evidence" : "import org.apache.hudi.common.config.TypedProperties;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/schema/NullTargetSchemaRegistryProvider.java",
      "evidence" : "import org.apache.hudi.common.config.TypedProperties;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/schema/SchemaPostProcessor.java",
      "evidence" : "import org.apache.hudi.common.config.TypedProperties;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/schema/DelegatingSchemaProvider.java",
      "evidence" : "import org.apache.hudi.common.config.TypedProperties;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/schema/LazyCastingIterator.java",
      "evidence" : "import org.apache.hudi.avro.HoodieAvroUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/schema/converter/JsonToAvroSchemaConverter.java",
      "evidence" : "import org.apache.hudi.common.util.JsonUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/schema/postprocessor/DropColumnSchemaPostProcessor.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/schema/postprocessor/DeleteSupportSchemaPostProcessor.java",
      "evidence" : "import org.apache.hudi.common.config.TypedProperties;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/schema/postprocessor/ChainedSchemaPostProcessor.java",
      "evidence" : "import org.apache.hudi.common.config.TypedProperties;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/schema/postprocessor/add/AddPrimitiveColumnSchemaPostProcessor.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamerUtils.java",
      "evidence" : "import static org.apache.hudi.common.table.HoodieTableConfig.DROP_PARTITION_COLUMNS;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/BootstrapExecutor.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/SparkSampleWritesUtils.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamer.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/StreamSync.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableConfig;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/SourceFormatAdapter.java",
      "evidence" : "import org.apache.hudi.AvroConversionUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/StreamContext.java",
      "evidence" : "import org.apache.hudi.ApiMaturityLevel;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/SchedulerConfGenerator.java",
      "evidence" : "import org.apache.hudi.HoodieSparkUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/SourceProfile.java",
      "evidence" : "import org.apache.hudi.ApiMaturityLevel;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/SourceProfileSupplier.java",
      "evidence" : "import org.apache.hudi.ApiMaturityLevel;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/ConfigurationHotUpdateStrategy.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieMultiTableStreamer.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/NoNewDataTerminationStrategy.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/PostWriteTerminationStrategy.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/ErrorTableUtils.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/ConfigurationHotUpdateStrategyUtils.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/BaseErrorTableWriter.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/DefaultStreamContext.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/TerminationStrategyUtils.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/TableExecutionContext.java",
      "evidence" : "import org.apache.hudi.common.config.TypedProperties;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/deltastreamer/HoodieDeltaStreamer.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/deltastreamer/DeltaSync.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/deltastreamer/NoNewDataTerminationStrategy.java",
      "evidence" : "import org.apache.hudi.common.config.TypedProperties;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/S3EventsHoodieIncrSource.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.TimelineUtils.HollowCommitHandling;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/GcsEventsHoodieIncrSource.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.TimelineUtils.HollowCommitHandling;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/HoodieIncrSource.java",
      "evidence" : "import org.apache.hudi.common.table.timeline.TimelineUtils.HollowCommitHandling;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/PulsarSource.java",
      "evidence" : "import org.apache.hudi.HoodieConversionUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/RowSource.java",
      "evidence" : "import org.apache.hudi.HoodieSparkUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/Source.java",
      "evidence" : "import org.apache.hudi.ApiMaturityLevel;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/KafkaSource.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/SnapshotLoadQuerySplitter.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/SqlSource.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/JdbcSource.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/AvroKafkaSource.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/AvroDFSSource.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/CsvDFSSource.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/SqlFileBasedSource.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/JsonDFSSource.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/InputBatch.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/HiveIncrPullSource.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/ParquetDFSSource.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/GcsEventsSource.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/JsonKafkaSource.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/S3EventsSource.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/ProtoKafkaSource.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/ORCDFSSource.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/AvroSource.java",
      "evidence" : "import org.apache.hudi.common.config.TypedProperties;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/JsonSource.java",
      "evidence" : "import org.apache.hudi.common.config.TypedProperties;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/processor/JsonKafkaSourcePostProcessor.java",
      "evidence" : "import org.apache.hudi.common.config.TypedProperties;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/processor/ChainedJsonKafkaSourcePostProcessor.java",
      "evidence" : "import org.apache.hudi.common.config.TypedProperties;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/processor/maxwell/MaxwellJsonKafkaSourcePostProcessor.java",
      "evidence" : "import org.apache.hudi.common.util.DateTimeUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/IncrSourceHelper.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/CloudObjectsSelectorCommon.java",
      "evidence" : "import org.apache.hudi.AvroConversionUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/QueryInfo.java",
      "evidence" : "import static org.apache.hudi.DataSourceReadOptions.QUERY_TYPE_INCREMENTAL_OPT_VAL;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/QueryRunner.java",
      "evidence" : "import org.apache.hudi.DataSourceReadOptions;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/S3EventsMetaSelector.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/IncrSourceCloudStorageHelper.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/CloudObjectIncrCheckpoint.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/SanitizationUtils.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/KafkaOffsetGen.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/CloudDataFetcher.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/CloudObjectsSelector.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.checkRequiredConfigProperties;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/ProtoConversionUtil.java",
      "evidence" : "import org.apache.hudi.common.util.CollectionUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/AvroConvertor.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/DatePartitionPathSelector.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/DFSPathSelector.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/gcs/MetadataMessage.java",
      "evidence" : "import static org.apache.hudi.common.util.StringUtils.isNullOrEmpty;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/gcs/MessageValidity.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/gcs/PubsubMessagesFetcher.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/gcs/GcsObjectMetadataFetcher.java",
      "evidence" : "import org.apache.hudi.common.config.SerializableConfiguration;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/debezium/DebeziumSource.java",
      "evidence" : "import org.apache.hudi.AvroConversionUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/debezium/MysqlDebeziumSource.java",
      "evidence" : "import org.apache.hudi.common.config.TypedProperties;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/debezium/PostgresDebeziumSource.java",
      "evidence" : "import org.apache.hudi.common.config.TypedProperties;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/multitable/MultiTableServiceUtils.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/multitable/ClusteringTask.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/multitable/CompactionTask.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/multitable/HoodieMultiTableServicesMain.java",
      "evidence" : "import org.apache.hudi.exception.HoodieIOException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/multitable/CleanTask.java",
      "evidence" : "import org.apache.hudi.common.config.TypedProperties;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/multitable/ArchiveTask.java",
      "evidence" : "import org.apache.hudi.common.config.TypedProperties;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/multitable/TableServiceTask.java",
      "evidence" : "import org.apache.hudi.common.config.TypedProperties;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/callback/kafka/HoodieWriteCommitKafkaCallback.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/callback/kafka/HoodieWriteCommitKafkaCallbackConfig.java",
      "evidence" : "import org.apache.hudi.common.config.ConfigClassProperty;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/callback/pulsar/HoodieWriteCommitPulsarCallback.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/callback/pulsar/HoodieWriteCommitPulsarCallbackConfig.java",
      "evidence" : "import org.apache.hudi.common.config.ConfigClassProperty;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/checkpointing/InitialCheckpointFromAnotherHoodieTimelineProvider.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/checkpointing/InitialCheckPointProvider.java",
      "evidence" : "import org.apache.hudi.ApiMaturityLevel;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/checkpointing/KafkaConnectHdfsProvider.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/perf/TimelineServerPerf.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/exception/HoodieReadFromSourceException.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/exception/HoodieSourcePostProcessException.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/exception/HoodieSchemaPostProcessException.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/exception/HoodieSchemaProviderException.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/exception/HoodieIncrementalPullException.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/exception/HoodieSourceTimeoutException.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/exception/HoodieStreamerException.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/exception/HoodieTransformException.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/exception/HoodieSnapshotExporterException.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/transform/Transformer.java",
      "evidence" : "import org.apache.hudi.ApiMaturityLevel;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/transform/ChainedTransformer.java",
      "evidence" : "import org.apache.hudi.AvroConversionUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/transform/AWSDmsTransformer.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/transform/SqlQueryBasedTransformer.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.getStringWithAltKeys;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/transform/SqlFileBasedTransformer.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.getStringWithAltKeys;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/transform/ErrorTableAwareChainedTransformer.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/transform/FlatteningTransformer.java",
      "evidence" : "import org.apache.hudi.common.config.TypedProperties;"
    } ],
    "toComponent" : "hudi-common",
    "count" : 169,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-utilities -> hudi-common"
  }, {
    "fromComponent" : "hudi-utilities",
    "locFrom" : 16198,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/UtilHelpers.java",
      "evidence" : "import org.apache.hudi.AvroConversionUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDropPartitionsTool.java",
      "evidence" : "import org.apache.hudi.DataSourceWriteOptions;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieIndexer.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieTTLJob.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieCompactor.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieSnapshotExporter.java",
      "evidence" : "import org.apache.hudi.common.util.CollectionUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/SqlQueryBuilder.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HiveIncrementalPuller.java",
      "evidence" : "import org.apache.hudi.common.util.FileIOUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieSnapshotCopier.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieClusteringJob.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/TableSizeStats.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieRepairTool.java",
      "evidence" : "import org.apache.hudi.common.util.FileIOUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HDFSParquetImporter.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
      "evidence" : "import org.apache.hudi.common.util.CleanerUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieWithTimelineServer.java",
      "evidence" : "import org.apache.hudi.common.util.ValidationUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieCleaner.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/ingestion/HoodieIngestionService.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/ingestion/HoodieIngestionException.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/config/SchemaProviderPostProcessorConfig.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.OLD_SCHEMAPROVIDER_CONFIG_PREFIX;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/config/S3SourceConfig.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.DELTA_STREAMER_CONFIG_PREFIX;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/config/GCSEventsSourceConfig.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.DELTA_STREAMER_CONFIG_PREFIX;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/config/JdbcbasedSchemaProviderConfig.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.OLD_SCHEMAPROVIDER_CONFIG_PREFIX;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/config/HiveSchemaProviderConfig.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.OLD_SCHEMAPROVIDER_CONFIG_PREFIX;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/config/HoodieIncrSourceConfig.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.DELTA_STREAMER_CONFIG_PREFIX;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/config/DFSPathSelectorConfig.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.DELTA_STREAMER_CONFIG_PREFIX;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/config/HoodieSchemaProviderConfig.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.OLD_SCHEMAPROVIDER_CONFIG_PREFIX;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/config/PulsarSourceConfig.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.DELTA_STREAMER_CONFIG_PREFIX;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/config/KafkaSourceConfig.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.DELTA_STREAMER_CONFIG_PREFIX;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/config/CloudSourceConfig.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.DELTA_STREAMER_CONFIG_PREFIX;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/config/S3EventsHoodieIncrSourceConfig.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.DELTA_STREAMER_CONFIG_PREFIX;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/config/ParquetDFSSourceConfig.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.DELTA_STREAMER_CONFIG_PREFIX;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/config/ProtoClassBasedSchemaProviderConfig.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.OLD_SCHEMAPROVIDER_CONFIG_PREFIX;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/config/JdbcSourceConfig.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.DELTA_STREAMER_CONFIG_PREFIX;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/config/SqlTransformerConfig.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.DELTA_STREAMER_CONFIG_PREFIX;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/config/JsonKafkaPostProcessorConfig.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.DELTA_STREAMER_CONFIG_PREFIX;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/config/HiveIncrPullSourceConfig.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.DELTA_STREAMER_CONFIG_PREFIX;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/config/DatePartitionPathSelectorConfig.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.DELTA_STREAMER_CONFIG_PREFIX;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/config/SqlSourceConfig.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.DELTA_STREAMER_CONFIG_PREFIX;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/config/HoodieStreamerConfig.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.DELTA_STREAMER_CONFIG_PREFIX;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/config/SqlFileBasedSourceConfig.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.DELTA_STREAMER_CONFIG_PREFIX;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/config/FilebasedSchemaProviderConfig.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.OLD_SCHEMAPROVIDER_CONFIG_PREFIX;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/deser/KafkaAvroSchemaDeserializer.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.getStringWithAltKeys;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/schema/RowBasedSchemaProvider.java",
      "evidence" : "import org.apache.hudi.AvroConversionUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/schema/SchemaProvider.java",
      "evidence" : "import org.apache.hudi.ApiMaturityLevel;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/schema/SparkAvroPostProcessor.java",
      "evidence" : "import org.apache.hudi.AvroConversionUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/schema/HiveSchemaProvider.java",
      "evidence" : "import org.apache.hudi.AvroConversionUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/schema/JdbcbasedSchemaProvider.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.getStringWithAltKeys;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/schema/SchemaRegistryProvider.java",
      "evidence" : "import org.apache.hudi.common.util.ReflectionUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/schema/ProtoClassBasedSchemaProvider.java",
      "evidence" : "import org.apache.hudi.common.util.ReflectionUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/schema/FilebasedSchemaProvider.java",
      "evidence" : "import org.apache.hudi.common.util.FileIOUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/schema/KafkaOffsetPostProcessor.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.getBooleanWithAltKeys;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/schema/SchemaProviderWithPostProcessor.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/schema/converter/JsonToAvroSchemaConverter.java",
      "evidence" : "import org.apache.hudi.common.util.JsonUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/schema/postprocessor/DropColumnSchemaPostProcessor.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/schema/postprocessor/add/AddPrimitiveColumnSchemaPostProcessor.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/SourceFormatAdapter.java",
      "evidence" : "import org.apache.hudi.AvroConversionUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamerUtils.java",
      "evidence" : "import org.apache.hudi.AvroConversionUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/BootstrapExecutor.java",
      "evidence" : "import org.apache.hudi.DataSourceWriteOptions;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/StreamContext.java",
      "evidence" : "import org.apache.hudi.ApiMaturityLevel;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/SchedulerConfGenerator.java",
      "evidence" : "import org.apache.hudi.HoodieSparkUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/SourceProfile.java",
      "evidence" : "import org.apache.hudi.ApiMaturityLevel;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamer.java",
      "evidence" : "import org.apache.hudi.DataSourceWriteOptions;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/SourceProfileSupplier.java",
      "evidence" : "import org.apache.hudi.ApiMaturityLevel;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/StreamSync.java",
      "evidence" : "import org.apache.hudi.AvroConversionUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/SparkSampleWritesUtils.java",
      "evidence" : "import org.apache.hudi.storage.StoragePath;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/ConfigurationHotUpdateStrategy.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieMultiTableStreamer.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/NoNewDataTerminationStrategy.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/PostWriteTerminationStrategy.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/ErrorTableUtils.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/ConfigurationHotUpdateStrategyUtils.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/BaseErrorTableWriter.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/DefaultStreamContext.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/TerminationStrategyUtils.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/deltastreamer/HoodieDeltaStreamer.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/deltastreamer/DeltaSync.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/PulsarSource.java",
      "evidence" : "import org.apache.hudi.HoodieConversionUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/RowSource.java",
      "evidence" : "import org.apache.hudi.HoodieSparkUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/Source.java",
      "evidence" : "import org.apache.hudi.ApiMaturityLevel;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/HoodieIncrSource.java",
      "evidence" : "import org.apache.hudi.DataSourceReadOptions;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/KafkaSource.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/SnapshotLoadQuerySplitter.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/SqlSource.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/JdbcSource.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/AvroKafkaSource.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/AvroDFSSource.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/CsvDFSSource.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/SqlFileBasedSource.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/JsonDFSSource.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/InputBatch.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/HiveIncrPullSource.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/S3EventsHoodieIncrSource.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/ParquetDFSSource.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/GcsEventsHoodieIncrSource.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/GcsEventsSource.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/JsonKafkaSource.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/S3EventsSource.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/ProtoKafkaSource.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/ORCDFSSource.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/processor/maxwell/MaxwellJsonKafkaSourcePostProcessor.java",
      "evidence" : "import org.apache.hudi.common.util.DateTimeUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/CloudObjectsSelectorCommon.java",
      "evidence" : "import org.apache.hudi.AvroConversionUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/QueryInfo.java",
      "evidence" : "import static org.apache.hudi.DataSourceReadOptions.QUERY_TYPE_INCREMENTAL_OPT_VAL;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/QueryRunner.java",
      "evidence" : "import org.apache.hudi.DataSourceReadOptions;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/IncrSourceHelper.java",
      "evidence" : "import org.apache.hudi.DataSourceReadOptions;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/S3EventsMetaSelector.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/IncrSourceCloudStorageHelper.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/CloudObjectIncrCheckpoint.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/SanitizationUtils.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/KafkaOffsetGen.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/CloudDataFetcher.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/CloudObjectsSelector.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.checkRequiredConfigProperties;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/ProtoConversionUtil.java",
      "evidence" : "import org.apache.hudi.common.util.CollectionUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/AvroConvertor.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/DatePartitionPathSelector.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/DFSPathSelector.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/gcs/MetadataMessage.java",
      "evidence" : "import static org.apache.hudi.common.util.StringUtils.isNullOrEmpty;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/gcs/MessageValidity.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/gcs/PubsubMessagesFetcher.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/debezium/DebeziumSource.java",
      "evidence" : "import org.apache.hudi.AvroConversionUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/multitable/MultiTableServiceUtils.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/multitable/HoodieMultiTableServicesMain.java",
      "evidence" : "import org.apache.hudi.exception.HoodieIOException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/callback/kafka/HoodieWriteCommitKafkaCallback.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/callback/pulsar/HoodieWriteCommitPulsarCallback.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/checkpointing/InitialCheckPointProvider.java",
      "evidence" : "import org.apache.hudi.ApiMaturityLevel;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/checkpointing/InitialCheckpointFromAnotherHoodieTimelineProvider.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/checkpointing/KafkaConnectHdfsProvider.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/perf/TimelineServerPerf.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/exception/HoodieReadFromSourceException.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/exception/HoodieSourcePostProcessException.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/exception/HoodieSchemaPostProcessException.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/exception/HoodieSchemaProviderException.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/exception/HoodieIncrementalPullException.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/exception/HoodieSourceTimeoutException.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/exception/HoodieStreamerException.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/exception/HoodieTransformException.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/exception/HoodieSnapshotExporterException.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/transform/Transformer.java",
      "evidence" : "import org.apache.hudi.ApiMaturityLevel;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/transform/ChainedTransformer.java",
      "evidence" : "import org.apache.hudi.AvroConversionUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/transform/AWSDmsTransformer.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/transform/SqlQueryBasedTransformer.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.getStringWithAltKeys;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/transform/SqlFileBasedTransformer.java",
      "evidence" : "import static org.apache.hudi.common.util.ConfigUtils.getStringWithAltKeys;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/transform/ErrorTableAwareChainedTransformer.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    } ],
    "toComponent" : "hudi-io",
    "count" : 143,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-utilities -> hudi-io"
  }, {
    "fromComponent" : "hudi-utilities",
    "locFrom" : 6191,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/UtilHelpers.java",
      "evidence" : "import org.apache.hudi.AvroConversionUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDropPartitionsTool.java",
      "evidence" : "import org.apache.hudi.DataSourceWriteOptions;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
      "evidence" : "import org.apache.hudi.async.HoodieAsyncService;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
      "evidence" : "import org.apache.hudi.async.HoodieAsyncService;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/ingestion/HoodieIngestionService.java",
      "evidence" : "import org.apache.hudi.async.HoodieAsyncService;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/schema/RowBasedSchemaProvider.java",
      "evidence" : "import org.apache.hudi.AvroConversionUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/schema/SchemaProvider.java",
      "evidence" : "import org.apache.hudi.ApiMaturityLevel;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/schema/SparkAvroPostProcessor.java",
      "evidence" : "import org.apache.hudi.AvroConversionUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/schema/HiveSchemaProvider.java",
      "evidence" : "import org.apache.hudi.AvroConversionUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/SourceFormatAdapter.java",
      "evidence" : "import org.apache.hudi.AvroConversionUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamerUtils.java",
      "evidence" : "import org.apache.hudi.AvroConversionUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/BootstrapExecutor.java",
      "evidence" : "import org.apache.hudi.DataSourceWriteOptions;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/StreamContext.java",
      "evidence" : "import org.apache.hudi.ApiMaturityLevel;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/SchedulerConfGenerator.java",
      "evidence" : "import org.apache.hudi.HoodieSparkUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/SourceProfile.java",
      "evidence" : "import org.apache.hudi.ApiMaturityLevel;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamer.java",
      "evidence" : "import org.apache.hudi.DataSourceWriteOptions;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/SourceProfileSupplier.java",
      "evidence" : "import org.apache.hudi.ApiMaturityLevel;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/StreamSync.java",
      "evidence" : "import org.apache.hudi.AvroConversionUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/PulsarSource.java",
      "evidence" : "import org.apache.hudi.HoodieConversionUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/RowSource.java",
      "evidence" : "import org.apache.hudi.HoodieSparkUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/Source.java",
      "evidence" : "import org.apache.hudi.ApiMaturityLevel;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/HoodieIncrSource.java",
      "evidence" : "import org.apache.hudi.DataSourceReadOptions;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/CloudObjectsSelectorCommon.java",
      "evidence" : "import org.apache.hudi.AvroConversionUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/QueryInfo.java",
      "evidence" : "import static org.apache.hudi.DataSourceReadOptions.QUERY_TYPE_INCREMENTAL_OPT_VAL;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/QueryRunner.java",
      "evidence" : "import org.apache.hudi.DataSourceReadOptions;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/IncrSourceHelper.java",
      "evidence" : "import org.apache.hudi.DataSourceReadOptions;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/debezium/DebeziumSource.java",
      "evidence" : "import org.apache.hudi.AvroConversionUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/checkpointing/InitialCheckPointProvider.java",
      "evidence" : "import org.apache.hudi.ApiMaturityLevel;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/transform/Transformer.java",
      "evidence" : "import org.apache.hudi.ApiMaturityLevel;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/transform/ChainedTransformer.java",
      "evidence" : "import org.apache.hudi.AvroConversionUtils;"
    } ],
    "toComponent" : "hudi-spark-datasource",
    "count" : 30,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-utilities -> hudi-spark-datasource"
  }, {
    "fromComponent" : "hudi-utilities",
    "locFrom" : 2133,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieClusteringJob.java",
      "evidence" : "import org.apache.hudi.table.HoodieSparkTable;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDropPartitionsTool.java",
      "evidence" : "import org.apache.hudi.table.HoodieSparkTable;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamerUtils.java",
      "evidence" : "import org.apache.hudi.util.SparkKeyGenUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/BootstrapExecutor.java",
      "evidence" : "import org.apache.hudi.util.SparkKeyGenUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/StreamSync.java",
      "evidence" : "import org.apache.hudi.util.SparkKeyGenUtils;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamerMetrics.java",
      "evidence" : "import org.apache.hudi.metrics.Metrics;"
    }, {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/PulsarSource.java",
      "evidence" : "import org.apache.hudi.util.Lazy;"
    } ],
    "toComponent" : "hudi-flink-datasource",
    "count" : 7,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-utilities -> hudi-flink-datasource"
  }, {
    "fromComponent" : "hudi-utilities",
    "locFrom" : 269,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/perf/TimelineServerPerf.java",
      "evidence" : "import org.apache.hudi.timeline.service.TimelineService;"
    } ],
    "toComponent" : "hudi-timeline-service",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-utilities -> hudi-timeline-service"
  }, {
    "fromComponent" : "hudi-flink-datasource",
    "locFrom" : 4304,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/configuration/FlinkOptions.java",
      "evidence" : "import org.apache.hudi.config.HoodieIndexConfig;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/configuration/OptionsResolver.java",
      "evidence" : "import org.apache.hudi.config.HoodieCleanConfig;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/StreamWriteOperatorCoordinator.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/compact/CompactOperator.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/bulk/WriterHelpers.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/bulk/BulkInsertWriterHelper.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/bootstrap/BootstrapOperator.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/partitioner/BucketAssigner.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/partitioner/BucketAssignFunction.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/partitioner/BucketAssigners.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/partitioner/profile/EmptyWriteProfile.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/partitioner/profile/WriteProfile.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/partitioner/profile/DeltaWriteProfile.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/partitioner/profile/WriteProfiles.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/clustering/ClusteringOperator.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/meta/TimelineBasedCkpMetadata.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/meta/CkpMetadataFactory.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/bucket/BucketBulkInsertWriterHelper.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/catalog/HoodieCatalogUtil.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/FormatUtils.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/cdc/CdcInputFormat.java",
      "evidence" : "import org.apache.hudi.config.HoodieWriteConfig;"
    } ],
    "toComponent" : "hudi-aws",
    "count" : 21,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-flink-datasource -> hudi-aws"
  }, {
    "fromComponent" : "hudi-flink-datasource",
    "locFrom" : 1995,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/configuration/FlinkOptions.java",
      "evidence" : "import org.apache.hudi.hive.MultiPartKeysValueExtractor;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/StreamWriteOperatorCoordinator.java",
      "evidence" : "import org.apache.hudi.hive.HiveSyncTool;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/utils/HiveSyncContext.java",
      "evidence" : "import org.apache.hudi.hive.HiveSyncTool;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/streamer/FlinkStreamerConfig.java",
      "evidence" : "import org.apache.hudi.hive.MultiPartKeysValueExtractor;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/catalog/TableOptionProperties.java",
      "evidence" : "import org.apache.hudi.sync.common.util.SparkDataSourceTableUtils;"
    } ],
    "toComponent" : "hudi-sync",
    "count" : 5,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-flink-datasource -> hudi-sync"
  }, {
    "fromComponent" : "hudi-flink-datasource",
    "locFrom" : 440,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/compact/HoodieFlinkCompactor.java",
      "evidence" : "import org.apache.hudi.async.HoodieAsyncTableService;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/clustering/HoodieFlinkClusteringJob.java",
      "evidence" : "import org.apache.hudi.async.HoodieAsyncTableService;"
    } ],
    "toComponent" : "hudi-spark-datasource",
    "count" : 2,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-flink-datasource -> hudi-spark-datasource"
  }, {
    "fromComponent" : "hudi-flink-datasource",
    "locFrom" : 71,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/meta/TimelineBasedCkpMetadata.java",
      "evidence" : "import org.apache.hudi.timeline.service.handlers.InstantStateHandler;"
    } ],
    "toComponent" : "hudi-timeline-service",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-flink-datasource -> hudi-timeline-service"
  }, {
    "fromComponent" : "hudi-flink-datasource",
    "locFrom" : 2123,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/catalog/HoodieHiveCatalog.java",
      "evidence" : "import org.apache.hudi.hadoop.utils.HoodieInputFormatUtils;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/cdc/CdcInputFormat.java",
      "evidence" : "import static org.apache.hudi.hadoop.utils.HoodieInputFormatUtils.HOODIE_RECORD_KEY_COL_POS;"
    }, {
      "pathFrom" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/mor/MergeOnReadInputFormat.java",
      "evidence" : "import static org.apache.hudi.hadoop.utils.HoodieInputFormatUtils.HOODIE_COMMIT_TIME_COL_POS;"
    } ],
    "toComponent" : "hudi-hadoop-mr",
    "count" : 3,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-flink-datasource -> hudi-hadoop-mr"
  }, {
    "fromComponent" : "hudi-integ-test",
    "locFrom" : 862,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/reader/DFSDeltaInputReader.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/SparkDataSourceContinuousIngestTool.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/HoodieTestSuiteJob.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/ValidateAsyncOperations.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/generator/DeltaGenerator.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HadoopFSUtils;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/writer/AvroFileDeltaInputWriter.java",
      "evidence" : "import org.apache.hudi.hadoop.fs.HoodieWrapperFileSystem;"
    } ],
    "toComponent" : "hudi-hadoop-common",
    "count" : 6,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-integ-test -> hudi-hadoop-common"
  }, {
    "fromComponent" : "hudi-integ-test",
    "locFrom" : 978,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/reader/DFSHoodieDatasetInputReader.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/HoodieTestSuiteJob.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/HoodieDeltaStreamerWrapper.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/RollbackNode.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/BaseValidateDatasetNode.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/ScheduleCompactNode.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/CompactNode.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/ValidateAsyncOperations.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    } ],
    "toComponent" : "hudi-platform-service",
    "count" : 8,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-integ-test -> hudi-platform-service"
  }, {
    "fromComponent" : "hudi-integ-test",
    "locFrom" : 4337,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/reader/DFSHoodieDatasetInputReader.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/reader/SparkBasedReader.java",
      "evidence" : "import org.apache.hudi.HoodieSparkUtils;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/reader/DFSAvroDeltaInputReader.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/reader/DFSDeltaInputReader.java",
      "evidence" : "import org.apache.hudi.common.util.collection.Pair;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/configuration/DeltaConfig.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/configuration/DFSDeltaConfig.java",
      "evidence" : "import org.apache.hudi.common.config.SerializableConfiguration;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/HoodieTestSuiteJob.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/HoodieDeltaStreamerWrapper.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/HoodieTestSuiteWriter.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/HoodieInlineTestSuiteWriter.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/HoodieContinuousTestSuiteWriter.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/HoodieMultiWriterTestSuiteJob.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/SparkDataSourceContinuousIngestTool.java",
      "evidence" : "import org.apache.hudi.common.config.TypedProperties;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/DagUtils.java",
      "evidence" : "import org.apache.hudi.common.util.ReflectionUtils;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/WriterContext.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/SimpleWorkflowDagGenerator.java",
      "evidence" : "import org.apache.hudi.common.util.collection.Pair;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/RollbackNode.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/BaseValidateDatasetNode.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/ScheduleCompactNode.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/CompactNode.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/ValidateAsyncOperations.java",
      "evidence" : "import org.apache.hudi.common.table.HoodieTableMetaClient;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/ValidateDatasetNode.java",
      "evidence" : "import org.apache.hudi.DataSourceWriteOptions;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/BulkInsertNode.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/DeleteNode.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/PrestoQueryNode.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/TrinoQueryNode.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/InsertOverwriteNode.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/UpsertNode.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/ClusteringNode.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/InsertOverwriteTableNode.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/InsertNode.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/HiveQueryNode.java",
      "evidence" : "import org.apache.hudi.exception.HoodieValidationException;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/SparkSQLQueryNode.java",
      "evidence" : "import org.apache.hudi.common.util.collection.Pair;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/BaseQueryNode.java",
      "evidence" : "import org.apache.hudi.common.util.collection.Pair;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/HiveSyncNode.java",
      "evidence" : "import org.apache.hudi.common.config.TypedProperties;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/scheduler/SaferSchemaDagScheduler.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/scheduler/DagScheduler.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/streaming/StructuredStreamingSinkUtil.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/generator/DeltaGenerator.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/generator/GenericRecordFullPayloadSizeEstimator.java",
      "evidence" : "import org.apache.hudi.common.util.collection.Pair;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/generator/GenericRecordFullPayloadGenerator.java",
      "evidence" : "import org.apache.hudi.common.util.collection.Pair;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/schema/TestSuiteFileBasedSchemaProvider.java",
      "evidence" : "import org.apache.hudi.common.config.TypedProperties;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/writer/SparkAvroDeltaInputWriter.java",
      "evidence" : "import org.apache.hudi.AvroConversionUtils;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/writer/DeltaWriterFactory.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/writer/DeltaWriteStats.java",
      "evidence" : "import org.apache.hudi.common.util.collection.Pair;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/writer/AvroFileDeltaInputWriter.java",
      "evidence" : "import org.apache.hudi.common.fs.FSUtils;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/helpers/DFSTestSuitePathSelector.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    } ],
    "toComponent" : "hudi-common",
    "count" : 47,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-integ-test -> hudi-common"
  }, {
    "fromComponent" : "hudi-integ-test",
    "locFrom" : 3410,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/reader/SparkBasedReader.java",
      "evidence" : "import org.apache.hudi.HoodieSparkUtils;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/reader/DFSAvroDeltaInputReader.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/reader/DFSHoodieDatasetInputReader.java",
      "evidence" : "import org.apache.hudi.common.util.FileIOUtils;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/configuration/DeltaConfig.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/HoodieTestSuiteJob.java",
      "evidence" : "import org.apache.hudi.DataSourceWriteOptions;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/HoodieTestSuiteWriter.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/HoodieInlineTestSuiteWriter.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/HoodieContinuousTestSuiteWriter.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/HoodieMultiWriterTestSuiteJob.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/DagUtils.java",
      "evidence" : "import org.apache.hudi.common.util.ReflectionUtils;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/WriterContext.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/BaseValidateDatasetNode.java",
      "evidence" : "import org.apache.hudi.DataSourceWriteOptions;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/ValidateDatasetNode.java",
      "evidence" : "import org.apache.hudi.DataSourceWriteOptions;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/BulkInsertNode.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/RollbackNode.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/DeleteNode.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/PrestoQueryNode.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/TrinoQueryNode.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/InsertOverwriteNode.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/UpsertNode.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/ClusteringNode.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/InsertOverwriteTableNode.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/ScheduleCompactNode.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/CompactNode.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/ValidateAsyncOperations.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/InsertNode.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/HiveQueryNode.java",
      "evidence" : "import org.apache.hudi.exception.HoodieValidationException;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/scheduler/SaferSchemaDagScheduler.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/scheduler/DagScheduler.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/streaming/StructuredStreamingSinkUtil.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/generator/DeltaGenerator.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/writer/SparkAvroDeltaInputWriter.java",
      "evidence" : "import org.apache.hudi.AvroConversionUtils;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/writer/DeltaWriterFactory.java",
      "evidence" : "import org.apache.hudi.common.util.StringUtils;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/helpers/DFSTestSuitePathSelector.java",
      "evidence" : "import org.apache.hudi.common.util.Option;"
    } ],
    "toComponent" : "hudi-io",
    "count" : 34,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-integ-test -> hudi-io"
  }, {
    "fromComponent" : "hudi-integ-test",
    "locFrom" : 1102,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/reader/SparkBasedReader.java",
      "evidence" : "import org.apache.hudi.HoodieSparkUtils;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/HoodieTestSuiteJob.java",
      "evidence" : "import org.apache.hudi.DataSourceWriteOptions;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/BaseValidateDatasetNode.java",
      "evidence" : "import org.apache.hudi.DataSourceWriteOptions;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/ValidateDatasetNode.java",
      "evidence" : "import org.apache.hudi.DataSourceWriteOptions;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/writer/SparkAvroDeltaInputWriter.java",
      "evidence" : "import org.apache.hudi.AvroConversionUtils;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/scala/org/apache/hudi/integ/testsuite/dag/nodes/SparkInsertOverwriteTableNode.scala",
      "evidence" : "import org.apache.hudi.DataSourceWriteOptions"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/scala/org/apache/hudi/integ/testsuite/dag/nodes/SparkDeletePartitionNode.scala",
      "evidence" : "import org.apache.hudi.DataSourceWriteOptions"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/scala/org/apache/hudi/integ/testsuite/dag/nodes/SparkInsertOverwriteNode.scala",
      "evidence" : "import org.apache.hudi.DataSourceWriteOptions"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/scala/org/apache/hudi/integ/testsuite/dag/nodes/SparkUpsertNode.scala",
      "evidence" : "import org.apache.hudi.DataSourceWriteOptions"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/scala/org/apache/hudi/integ/testsuite/dag/nodes/SparkBulkInsertNode.scala",
      "evidence" : "import org.apache.hudi.DataSourceWriteOptions"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/scala/org/apache/hudi/integ/testsuite/dag/nodes/SparkInsertNode.scala",
      "evidence" : "import org.apache.spark.sql.SaveMode"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/scala/org/apache/hudi/integ/testsuite/dag/nodes/SparkDeleteNode.scala",
      "evidence" : "import org.apache.spark.sql.SaveMode"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/scala/org/apache/hudi/integ/testsuite/dag/nodes/spark/sql/SparkSqlCreateTableNode.scala",
      "evidence" : "import org.apache.hudi.AvroConversionUtils"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/scala/org/apache/hudi/integ/testsuite/dag/nodes/spark/sql/BaseSparkSqlNode.scala",
      "evidence" : "import org.apache.hudi.AvroConversionUtils"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/scala/org/apache/hudi/integ/testsuite/utils/SparkSqlUtils.scala",
      "evidence" : "import org.apache.spark.sql.SparkSession"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/scala/org/apache/hudi/integ/testsuite/streaming/StructuredStreamingSinkTestWriter.scala",
      "evidence" : "import org.apache.hudi.DataSourceWriteOptions._"
    } ],
    "toComponent" : "hudi-spark-datasource",
    "count" : 16,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-integ-test -> hudi-spark-datasource"
  }, {
    "fromComponent" : "hudi-integ-test",
    "locFrom" : 3145,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/reader/SparkBasedReader.java",
      "evidence" : "import org.apache.hudi.HoodieSparkUtils;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/reader/DFSHoodieDatasetInputReader.java",
      "evidence" : "import org.apache.hudi.io.storage.HoodieAvroFileReader;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/HoodieTestSuiteWriter.java",
      "evidence" : "import org.apache.hudi.config.HoodieIndexConfig;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/HoodieTestSuiteJob.java",
      "evidence" : "import org.apache.hudi.DataSourceWriteOptions;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/HoodieMultiWriterTestSuiteJob.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/HoodieInlineTestSuiteWriter.java",
      "evidence" : "import org.apache.hudi.common.model.HoodieAvroRecord;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/HoodieContinuousTestSuiteWriter.java",
      "evidence" : "import org.apache.hudi.common.model.HoodieRecord;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/HoodieDeltaStreamerWrapper.java",
      "evidence" : "import org.apache.hudi.common.model.HoodieRecord;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/SparkDataSourceContinuousIngestTool.java",
      "evidence" : "import org.apache.hudi.client.common.HoodieSparkEngineContext;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/WriterContext.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/BaseValidateDatasetNode.java",
      "evidence" : "import org.apache.hudi.DataSourceWriteOptions;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/ValidateDatasetNode.java",
      "evidence" : "import org.apache.hudi.DataSourceWriteOptions;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/PrestoQueryNode.java",
      "evidence" : "import org.apache.hudi.exception.HoodieValidationException;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/TrinoQueryNode.java",
      "evidence" : "import org.apache.hudi.exception.HoodieValidationException;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/HiveQueryNode.java",
      "evidence" : "import org.apache.hudi.exception.HoodieValidationException;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/ScheduleCompactNode.java",
      "evidence" : "import org.apache.hudi.common.model.HoodieCommitMetadata;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/BulkInsertNode.java",
      "evidence" : "import org.apache.hudi.client.WriteStatus;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/DeleteNode.java",
      "evidence" : "import org.apache.hudi.client.WriteStatus;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/InsertOverwriteNode.java",
      "evidence" : "import org.apache.hudi.client.WriteStatus;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/UpsertNode.java",
      "evidence" : "import org.apache.hudi.client.WriteStatus;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/InsertOverwriteTableNode.java",
      "evidence" : "import org.apache.hudi.client.WriteStatus;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/CompactNode.java",
      "evidence" : "import org.apache.hudi.client.WriteStatus;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/InsertNode.java",
      "evidence" : "import org.apache.hudi.client.WriteStatus;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/scheduler/SaferSchemaDagScheduler.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/scheduler/DagScheduler.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/streaming/StructuredStreamingSinkUtil.java",
      "evidence" : "import org.apache.hudi.exception.HoodieException;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/generator/DeltaGenerator.java",
      "evidence" : "import org.apache.hudi.keygen.BuiltinKeyGenerator;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/generator/LazyRecordGeneratorIterator.java",
      "evidence" : "import org.apache.hudi.client.utils.LazyIterableIterator;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/writer/SparkAvroDeltaInputWriter.java",
      "evidence" : "import org.apache.hudi.AvroConversionUtils;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/helpers/DFSTestSuitePathSelector.java",
      "evidence" : "import org.apache.hudi.exception.HoodieIOException;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/scala/org/apache/hudi/integ/testsuite/dag/nodes/SparkInsertOverwriteTableNode.scala",
      "evidence" : "import org.apache.hudi.DataSourceWriteOptions"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/scala/org/apache/hudi/integ/testsuite/dag/nodes/SparkDeletePartitionNode.scala",
      "evidence" : "import org.apache.hudi.DataSourceWriteOptions"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/scala/org/apache/hudi/integ/testsuite/dag/nodes/SparkInsertOverwriteNode.scala",
      "evidence" : "import org.apache.hudi.DataSourceWriteOptions"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/scala/org/apache/hudi/integ/testsuite/dag/nodes/SparkUpsertNode.scala",
      "evidence" : "import org.apache.hudi.DataSourceWriteOptions"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/scala/org/apache/hudi/integ/testsuite/dag/nodes/SparkBulkInsertNode.scala",
      "evidence" : "import org.apache.hudi.DataSourceWriteOptions"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/scala/org/apache/hudi/integ/testsuite/dag/nodes/SparkInsertNode.scala",
      "evidence" : "import org.apache.spark.sql.SaveMode"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/scala/org/apache/hudi/integ/testsuite/dag/nodes/SparkDeleteNode.scala",
      "evidence" : "import org.apache.spark.sql.SaveMode"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/scala/org/apache/hudi/integ/testsuite/dag/nodes/spark/sql/SparkSqlCreateTableNode.scala",
      "evidence" : "import org.apache.hudi.AvroConversionUtils"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/scala/org/apache/hudi/integ/testsuite/dag/nodes/spark/sql/BaseSparkSqlNode.scala",
      "evidence" : "import org.apache.hudi.AvroConversionUtils"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/scala/org/apache/hudi/integ/testsuite/utils/SparkSqlUtils.scala",
      "evidence" : "import org.apache.spark.sql.SparkSession"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/scala/org/apache/hudi/integ/testsuite/streaming/StructuredStreamingSinkTestWriter.scala",
      "evidence" : "import org.apache.hudi.DataSourceWriteOptions._"
    } ],
    "toComponent" : "hudi-client",
    "count" : 41,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-integ-test -> hudi-client"
  }, {
    "fromComponent" : "hudi-integ-test",
    "locFrom" : 1460,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/reader/SparkBasedReader.java",
      "evidence" : "import org.apache.hudi.utilities.schema.RowBasedSchemaProvider;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/HoodieMultiWriterTestSuiteJob.java",
      "evidence" : "import org.apache.hudi.utilities.UtilHelpers;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/SparkDataSourceContinuousIngestTool.java",
      "evidence" : "import org.apache.hudi.utilities.HoodieRepairTool;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/HoodieTestSuiteJob.java",
      "evidence" : "import org.apache.hudi.utilities.UtilHelpers;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/HoodieTestSuiteWriter.java",
      "evidence" : "import org.apache.hudi.utilities.schema.SchemaProvider;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/HoodieInlineTestSuiteWriter.java",
      "evidence" : "import org.apache.hudi.utilities.schema.SchemaProvider;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/HoodieContinuousTestSuiteWriter.java",
      "evidence" : "import org.apache.hudi.utilities.schema.SchemaProvider;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/HoodieDeltaStreamerWrapper.java",
      "evidence" : "import org.apache.hudi.utilities.schema.SchemaProvider;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/WriterContext.java",
      "evidence" : "import org.apache.hudi.utilities.UtilHelpers;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/RollbackNode.java",
      "evidence" : "import org.apache.hudi.utilities.config.DFSPathSelectorConfig;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/BaseValidateDatasetNode.java",
      "evidence" : "import static org.apache.hudi.utilities.deltastreamer.HoodieDeltaStreamer.CHECKPOINT_KEY;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/schema/TestSuiteFileBasedSchemaProvider.java",
      "evidence" : "import org.apache.hudi.utilities.schema.FilebasedSchemaProvider;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/helpers/DFSTestSuitePathSelector.java",
      "evidence" : "import org.apache.hudi.utilities.config.DFSPathSelectorConfig;"
    } ],
    "toComponent" : "hudi-utilities",
    "count" : 13,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-integ-test -> hudi-utilities"
  }, {
    "fromComponent" : "hudi-integ-test",
    "locFrom" : 129,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/HoodieTestSuiteWriter.java",
      "evidence" : "import org.apache.hudi.config.HoodieIndexConfig;"
    } ],
    "toComponent" : "hudi-aws",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-integ-test -> hudi-aws"
  }, {
    "fromComponent" : "hudi-integ-test",
    "locFrom" : 173,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/HoodieInlineTestSuiteWriter.java",
      "evidence" : "import org.apache.hudi.table.HoodieSparkTable;"
    } ],
    "toComponent" : "hudi-flink-datasource",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-integ-test -> hudi-flink-datasource"
  }, {
    "fromComponent" : "hudi-integ-test",
    "locFrom" : 109,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/HiveSyncNode.java",
      "evidence" : "import org.apache.hudi.hive.HiveSyncTool;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/HiveQueryNode.java",
      "evidence" : "import org.apache.hudi.hive.HiveSyncConfig;"
    }, {
      "pathFrom" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/helpers/HiveServiceProvider.java",
      "evidence" : "import org.apache.hudi.hive.HiveSyncTool;"
    } ],
    "toComponent" : "hudi-sync",
    "count" : 3,
    "text" : null,
    "color" : "",
    "dependencyString" : "hudi-integ-test -> hudi-sync"
  } ],
  "componentDependenciesErrors" : [ ],
  "logicalDecomposition" : {
    "name" : "primary",
    "scope" : "main",
    "filters" : [ ],
    "componentsFolderDepth" : 1,
    "minComponentsCount" : 0,
    "components" : [ {
      "name" : "packaging",
      "sourceFileFilters" : [ {
        "pathPattern" : "./packaging/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "hudi-hadoop-common",
      "sourceFileFilters" : [ {
        "pathPattern" : "./hudi-hadoop-common/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "docker",
      "sourceFileFilters" : [ {
        "pathPattern" : "./docker/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "hudi-aws",
      "sourceFileFilters" : [ {
        "pathPattern" : "./hudi-aws/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "hudi-kafka-connect",
      "sourceFileFilters" : [ {
        "pathPattern" : "./hudi-kafka-connect/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "hudi-sync",
      "sourceFileFilters" : [ {
        "pathPattern" : "./hudi-sync/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "hudi-examples",
      "sourceFileFilters" : [ {
        "pathPattern" : "./hudi-examples/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "ROOT",
      "sourceFileFilters" : [ {
        "pathPattern" : "./.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      }, {
        "pathPattern" : "./packaging/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      }, {
        "pathPattern" : "./hudi-hadoop-common/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      }, {
        "pathPattern" : "./docker/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      }, {
        "pathPattern" : "./hudi-aws/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      }, {
        "pathPattern" : "./hudi-kafka-connect/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      }, {
        "pathPattern" : "./hudi-sync/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      }, {
        "pathPattern" : "./hudi-examples/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      }, {
        "pathPattern" : "./hudi-platform-service/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      }, {
        "pathPattern" : "./style/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      }, {
        "pathPattern" : "./hudi-hadoop-mr/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      }, {
        "pathPattern" : "./hudi-io/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      }, {
        "pathPattern" : "./hudi-cli/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      }, {
        "pathPattern" : "./hudi-gcp/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      }, {
        "pathPattern" : "./hudi-timeline-service/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      }, {
        "pathPattern" : "./hudi-spark-datasource/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      }, {
        "pathPattern" : "./hudi-common/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      }, {
        "pathPattern" : "./scripts/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      }, {
        "pathPattern" : "./hudi-client/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      }, {
        "pathPattern" : "./hudi-utilities/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      }, {
        "pathPattern" : "./hudi-flink-datasource/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      }, {
        "pathPattern" : "./hudi-integ-test/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "hudi-platform-service",
      "sourceFileFilters" : [ {
        "pathPattern" : "./hudi-platform-service/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "style",
      "sourceFileFilters" : [ {
        "pathPattern" : "./style/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "hudi-hadoop-mr",
      "sourceFileFilters" : [ {
        "pathPattern" : "./hudi-hadoop-mr/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "hudi-io",
      "sourceFileFilters" : [ {
        "pathPattern" : "./hudi-io/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "hudi-cli",
      "sourceFileFilters" : [ {
        "pathPattern" : "./hudi-cli/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      }, {
        "pathPattern" : "./hudi-client/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "hudi-gcp",
      "sourceFileFilters" : [ {
        "pathPattern" : "./hudi-gcp/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "hudi-timeline-service",
      "sourceFileFilters" : [ {
        "pathPattern" : "./hudi-timeline-service/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "hudi-spark-datasource",
      "sourceFileFilters" : [ {
        "pathPattern" : "./hudi-spark-datasource/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "hudi-common",
      "sourceFileFilters" : [ {
        "pathPattern" : "./hudi-common/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "scripts",
      "sourceFileFilters" : [ {
        "pathPattern" : "./scripts/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "hudi-client",
      "sourceFileFilters" : [ {
        "pathPattern" : "./hudi-client/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "hudi-utilities",
      "sourceFileFilters" : [ {
        "pathPattern" : "./hudi-utilities/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "hudi-flink-datasource",
      "sourceFileFilters" : [ {
        "pathPattern" : "./hudi-flink-datasource/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "hudi-integ-test",
      "sourceFileFilters" : [ {
        "pathPattern" : "./hudi-integ-test/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    } ],
    "metaComponents" : [ ],
    "groups" : [ ],
    "includeRemainingFiles" : true,
    "dependenciesFinder" : {
      "useBuiltInDependencyFinders" : true,
      "rules" : [ ],
      "metaRules" : [ ]
    },
    "renderingOptions" : {
      "orientation" : "TB",
      "maxNumberOfDependencies" : 100,
      "renderComponentsWithoutDependencies" : true,
      "renderIndirectDependencies" : false,
      "renderInternalIndirectDependencies" : false,
      "reverseDirection" : false
    },
    "includeExternalComponents" : true,
    "dependencyLinkThreshold" : 1,
    "duplicationLinkThreshold" : 50,
    "temporalLinkThreshold" : 1,
    "maxSearchDepthLines" : 200
  },
  "linesOfCodePerComponent" : [ {
    "name" : "packaging",
    "value" : 291,
    "description" : [ ]
  }, {
    "name" : "hudi-hadoop-common",
    "value" : 2173,
    "description" : [ ]
  }, {
    "name" : "docker",
    "value" : 613,
    "description" : [ ]
  }, {
    "name" : "hudi-aws",
    "value" : 1783,
    "description" : [ ]
  }, {
    "name" : "hudi-kafka-connect",
    "value" : 1902,
    "description" : [ ]
  }, {
    "name" : "hudi-sync",
    "value" : 5405,
    "description" : [ ]
  }, {
    "name" : "hudi-examples",
    "value" : 285,
    "description" : [ ]
  }, {
    "name" : "ROOT",
    "value" : 471,
    "description" : [ ]
  }, {
    "name" : "hudi-platform-service",
    "value" : 1858,
    "description" : [ ]
  }, {
    "name" : "style",
    "value" : 121,
    "description" : [ ]
  }, {
    "name" : "hudi-hadoop-mr",
    "value" : 5391,
    "description" : [ ]
  }, {
    "name" : "hudi-io",
    "value" : 3255,
    "description" : [ ]
  }, {
    "name" : "hudi-cli",
    "value" : 5868,
    "description" : [ ]
  }, {
    "name" : "hudi-gcp",
    "value" : 706,
    "description" : [ ]
  }, {
    "name" : "hudi-timeline-service",
    "value" : 1897,
    "description" : [ ]
  }, {
    "name" : "hudi-spark-datasource",
    "value" : 55228,
    "description" : [ ]
  }, {
    "name" : "hudi-common",
    "value" : 55356,
    "description" : [ ]
  }, {
    "name" : "scripts",
    "value" : 350,
    "description" : [ ]
  }, {
    "name" : "hudi-client",
    "value" : 52003,
    "description" : [ ]
  }, {
    "name" : "hudi-utilities",
    "value" : 17708,
    "description" : [ ]
  }, {
    "name" : "hudi-flink-datasource",
    "value" : 32917,
    "description" : [ ]
  }, {
    "name" : "hudi-integ-test",
    "value" : 5700,
    "description" : [ ]
  } ],
  "fileCountPerComponent" : [ {
    "name" : "packaging",
    "value" : 24,
    "description" : [ ]
  }, {
    "name" : "hudi-hadoop-common",
    "value" : 19,
    "description" : [ ]
  }, {
    "name" : "docker",
    "value" : 8,
    "description" : [ ]
  }, {
    "name" : "hudi-aws",
    "value" : 15,
    "description" : [ ]
  }, {
    "name" : "hudi-kafka-connect",
    "value" : 22,
    "description" : [ ]
  }, {
    "name" : "hudi-sync",
    "value" : 56,
    "description" : [ ]
  }, {
    "name" : "hudi-examples",
    "value" : 11,
    "description" : [ ]
  }, {
    "name" : "ROOT",
    "value" : 2,
    "description" : [ ]
  }, {
    "name" : "hudi-platform-service",
    "value" : 29,
    "description" : [ ]
  }, {
    "name" : "style",
    "value" : 2,
    "description" : [ ]
  }, {
    "name" : "hudi-hadoop-mr",
    "value" : 54,
    "description" : [ ]
  }, {
    "name" : "hudi-io",
    "value" : 52,
    "description" : [ ]
  }, {
    "name" : "hudi-cli",
    "value" : 43,
    "description" : [ ]
  }, {
    "name" : "hudi-gcp",
    "value" : 5,
    "description" : [ ]
  }, {
    "name" : "hudi-timeline-service",
    "value" : 15,
    "description" : [ ]
  }, {
    "name" : "hudi-spark-datasource",
    "value" : 387,
    "description" : [ ]
  }, {
    "name" : "hudi-common",
    "value" : 527,
    "description" : [ ]
  }, {
    "name" : "scripts",
    "value" : 2,
    "description" : [ ]
  }, {
    "name" : "hudi-client",
    "value" : 620,
    "description" : [ ]
  }, {
    "name" : "hudi-utilities",
    "value" : 191,
    "description" : [ ]
  }, {
    "name" : "hudi-flink-datasource",
    "value" : 285,
    "description" : [ ]
  }, {
    "name" : "hudi-integ-test",
    "value" : 91,
    "description" : [ ]
  } ]
} ]