Class BigQueryServicesImpl.DatasetServiceImpl
- java.lang.Object
-
- org.apache.beam.sdk.io.gcp.bigquery.BigQueryServicesImpl.DatasetServiceImpl
-
- All Implemented Interfaces:
java.lang.AutoCloseable,BigQueryServices.DatasetService
- Enclosing class:
- BigQueryServicesImpl
public static class BigQueryServicesImpl.DatasetServiceImpl extends java.lang.Object implements BigQueryServices.DatasetService
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.beam.sdk.io.gcp.bigquery.BigQueryServices.DatasetService
BigQueryServices.DatasetService.TableMetadataView
-
-
Constructor Summary
Constructors Constructor Description DatasetServiceImpl(BigQueryOptions bqOptions)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()voidcreateDataset(java.lang.String projectId, java.lang.String datasetId, @Nullable java.lang.String location, @Nullable java.lang.String description, @Nullable java.lang.Long defaultTableExpirationMs)Create aDatasetwith the givenlocation,descriptionand default expiration time for tables in the dataset (ifnull, tables don't expire).voidcreateTable(com.google.api.services.bigquery.model.Table table)Creates the specified table if it does not exist.voiddeleteDataset(java.lang.String projectId, java.lang.String datasetId)Deletes the dataset specified by the datasetId value.voiddeleteTable(com.google.api.services.bigquery.model.TableReference tableRef)Deletes the table specified by tableId from the dataset.com.google.api.services.bigquery.model.DatasetgetDataset(java.lang.String projectId, java.lang.String datasetId)Gets the specifiedDatasetresource by dataset ID.protected static @Nullable com.google.api.client.googleapis.json.GoogleJsonError.ErrorInfogetErrorInfo(java.io.IOException e)@Nullable com.google.api.services.bigquery.model.TablegetTable(com.google.api.services.bigquery.model.TableReference tableRef)Gets the specifiedTableresource by table ID.@Nullable com.google.api.services.bigquery.model.TablegetTable(com.google.api.services.bigquery.model.TableReference tableRef, java.util.List<java.lang.String> selectedFields)@Nullable com.google.api.services.bigquery.model.TablegetTable(com.google.api.services.bigquery.model.TableReference tableRef, java.util.List<java.lang.String> selectedFields, BigQueryServices.DatasetService.TableMetadataView view)<T> longinsertAll(com.google.api.services.bigquery.model.TableReference ref, java.util.List<org.apache.beam.sdk.values.FailsafeValueInSingleWindow<com.google.api.services.bigquery.model.TableRow,com.google.api.services.bigquery.model.TableRow>> rowList, @Nullable java.util.List<java.lang.String> insertIdList, InsertRetryPolicy retryPolicy, java.util.List<org.apache.beam.sdk.values.ValueInSingleWindow<T>> failedInserts, ErrorContainer<T> errorContainer, boolean skipInvalidRows, boolean ignoreUnknownValues, boolean ignoreInsertIds, java.util.List<org.apache.beam.sdk.values.ValueInSingleWindow<com.google.api.services.bigquery.model.TableRow>> successfulRows)InsertsTableRowswith the specified insertIds if not null.booleanisTableEmpty(com.google.api.services.bigquery.model.TableReference tableRef)Returns true if the table is empty.com.google.api.services.bigquery.model.TablepatchTableDescription(com.google.api.services.bigquery.model.TableReference tableReference, @Nullable java.lang.String tableDescription)Patch BigQueryTabledescription.
-
-
-
Constructor Detail
-
DatasetServiceImpl
public DatasetServiceImpl(BigQueryOptions bqOptions)
-
-
Method Detail
-
getTable
public @Nullable com.google.api.services.bigquery.model.Table getTable(com.google.api.services.bigquery.model.TableReference tableRef) throws java.io.IOException, java.lang.InterruptedExceptionGets the specifiedTableresource by table ID.Returns null if the table is not found.
Tries executing the RPC for at most
MAX_RPC_RETRIEStimes until it succeeds.- Specified by:
getTablein interfaceBigQueryServices.DatasetService- Throws:
java.io.IOException- if it exceedsMAX_RPC_RETRIESattempts.java.lang.InterruptedException
-
getTable
public @Nullable com.google.api.services.bigquery.model.Table getTable(com.google.api.services.bigquery.model.TableReference tableRef, java.util.List<java.lang.String> selectedFields) throws java.io.IOException, java.lang.InterruptedException- Specified by:
getTablein interfaceBigQueryServices.DatasetService- Throws:
java.io.IOExceptionjava.lang.InterruptedException
-
getTable
public @Nullable com.google.api.services.bigquery.model.Table getTable(com.google.api.services.bigquery.model.TableReference tableRef, java.util.List<java.lang.String> selectedFields, BigQueryServices.DatasetService.TableMetadataView view) throws java.io.IOException, java.lang.InterruptedException- Specified by:
getTablein interfaceBigQueryServices.DatasetService- Throws:
java.io.IOExceptionjava.lang.InterruptedException
-
createTable
public void createTable(com.google.api.services.bigquery.model.Table table) throws java.lang.InterruptedException, java.io.IOExceptionCreates the specified table if it does not exist.If a table with the same name already exists in the dataset, the function simply returns. In such a case, the existing table doesn't necessarily have the same schema as specified by the parameter.
- Specified by:
createTablein interfaceBigQueryServices.DatasetService- Throws:
java.io.IOException- if other error than already existing table occurs.java.lang.InterruptedException
-
deleteTable
public void deleteTable(com.google.api.services.bigquery.model.TableReference tableRef) throws java.io.IOException, java.lang.InterruptedExceptionDeletes the table specified by tableId from the dataset. If the table contains data, all the data will be deleted.Tries executing the RPC for at most
MAX_RPC_RETRIEStimes until it succeeds.- Specified by:
deleteTablein interfaceBigQueryServices.DatasetService- Throws:
java.io.IOException- if it exceedsMAX_RPC_RETRIESattempts.java.lang.InterruptedException
-
isTableEmpty
public boolean isTableEmpty(com.google.api.services.bigquery.model.TableReference tableRef) throws java.io.IOException, java.lang.InterruptedExceptionDescription copied from interface:BigQueryServices.DatasetServiceReturns true if the table is empty.- Specified by:
isTableEmptyin interfaceBigQueryServices.DatasetService- Throws:
java.io.IOException- if the table is not found.java.lang.InterruptedException
-
getDataset
public com.google.api.services.bigquery.model.Dataset getDataset(java.lang.String projectId, java.lang.String datasetId) throws java.io.IOException, java.lang.InterruptedExceptionGets the specifiedDatasetresource by dataset ID.Tries executing the RPC for at most
MAX_RPC_RETRIEStimes until it succeeds.- Specified by:
getDatasetin interfaceBigQueryServices.DatasetService- Throws:
java.io.IOException- if it exceedsMAX_RPC_RETRIESattempts.java.lang.InterruptedException
-
createDataset
public void createDataset(java.lang.String projectId, java.lang.String datasetId, @Nullable java.lang.String location, @Nullable java.lang.String description, @Nullable java.lang.Long defaultTableExpirationMs) throws java.io.IOException, java.lang.InterruptedExceptionCreate aDatasetwith the givenlocation,descriptionand default expiration time for tables in the dataset (ifnull, tables don't expire).Tries executing the RPC for at most
MAX_RPC_RETRIEStimes until it succeeds.- Specified by:
createDatasetin interfaceBigQueryServices.DatasetService- Throws:
java.io.IOException- if it exceedsMAX_RPC_RETRIESattempts.java.lang.InterruptedException
-
deleteDataset
public void deleteDataset(java.lang.String projectId, java.lang.String datasetId) throws java.io.IOException, java.lang.InterruptedExceptionDeletes the dataset specified by the datasetId value.Before you can delete a dataset, you must delete all its tables.
Tries executing the RPC for at most
MAX_RPC_RETRIEStimes until it succeeds.- Specified by:
deleteDatasetin interfaceBigQueryServices.DatasetService- Throws:
java.io.IOException- if it exceedsMAX_RPC_RETRIESattempts.java.lang.InterruptedException
-
insertAll
public <T> long insertAll(com.google.api.services.bigquery.model.TableReference ref, java.util.List<org.apache.beam.sdk.values.FailsafeValueInSingleWindow<com.google.api.services.bigquery.model.TableRow,com.google.api.services.bigquery.model.TableRow>> rowList, @Nullable java.util.List<java.lang.String> insertIdList, InsertRetryPolicy retryPolicy, java.util.List<org.apache.beam.sdk.values.ValueInSingleWindow<T>> failedInserts, ErrorContainer<T> errorContainer, boolean skipInvalidRows, boolean ignoreUnknownValues, boolean ignoreInsertIds, java.util.List<org.apache.beam.sdk.values.ValueInSingleWindow<com.google.api.services.bigquery.model.TableRow>> successfulRows) throws java.io.IOException, java.lang.InterruptedExceptionDescription copied from interface:BigQueryServices.DatasetServiceInsertsTableRowswith the specified insertIds if not null.If any insert fail permanently according to the retry policy, those rows are added to failedInserts.
Returns the total bytes count of
TableRows.- Specified by:
insertAllin interfaceBigQueryServices.DatasetService- Throws:
java.io.IOExceptionjava.lang.InterruptedException
-
getErrorInfo
protected static @Nullable com.google.api.client.googleapis.json.GoogleJsonError.ErrorInfo getErrorInfo(java.io.IOException e)
-
patchTableDescription
public com.google.api.services.bigquery.model.Table patchTableDescription(com.google.api.services.bigquery.model.TableReference tableReference, @Nullable java.lang.String tableDescription) throws java.io.IOException, java.lang.InterruptedExceptionDescription copied from interface:BigQueryServices.DatasetServicePatch BigQueryTabledescription.- Specified by:
patchTableDescriptionin interfaceBigQueryServices.DatasetService- Throws:
java.io.IOExceptionjava.lang.InterruptedException
-
close
public void close() throws java.lang.Exception- Specified by:
closein interfacejava.lang.AutoCloseable- Throws:
java.lang.Exception
-
-