检查 BigQuery Java 中是否存在表

Ami*_*rCS 1 google-bigquery

我正在尝试编写一个函数来检查 BigQuery 中是否存在表。以下代码始终返回 true。问题出在哪儿?

谢谢!

    private static boolean checkTableExist() {
    try {
        BigQueryOptions.Builder optionsBuilder = BigQueryOptions.newBuilder();
        BigQuery bigquery = optionsBuilder.build().getService();
        bigquery.getTable(options.getBigQueryDatasetId(), options.getBigQueryTableId());

    } catch (Exception e) {

        return false;
    }
    return true;

}
Run Code Online (Sandbox Code Playgroud)

Sou*_*gna 5

我认为您不应该依赖 java Exception 来测试布尔条件。我对 getTable() 方法的研究不多,但这里是我检查表是否存在的方法:

public boolean isExisting() {
    return getDataset().get(tableName) != null;
}

protected Dataset getDataset() {
    return bigQuery.getDataset(dataSetName);
}
Run Code Online (Sandbox Code Playgroud)