tree: 73cba377e3b4b4418f31b191ea2c886881d5234f [path history] [tgz]
  1. Apache.Arrow.Adbc.Drivers.BigQuery.csproj
  2. BigQueryConnection.cs
  3. BigQueryDatabase.cs
  4. BigQueryDriver.cs
  5. BigQueryInfoArrowStream.cs
  6. BigQueryParameters.cs
  7. BigQueryStatement.cs
  8. BigQueryTokenResponse.cs
  9. readme.md
csharp/src/Drivers/BigQuery/readme.md

BigQuery

The BigQuery ADBC driver wraps a BigQueryClient object for working with Google BigQuery data.

Supported Features

Authentication

The ADBC driver supports both Service and User accounts for use with BigQuery authentication.

Authorization

The ADBC driver passes the configured credentials to BigQuery, but you may need to ensure the credentials have proper authorization to perform operations such as read and write.

Parameters

The following parameters can be used to configure the driver behavior. The parameters are case sensitive.

adbc.bigquery.allow_large_results
    Sets the AllowLargeResults value of the QueryOptions to true if configured; otherwise, the default is false.

adbc.bigquery.auth_type
    Required. Must be user or service

https://cloud.google.com/dotnet/docs/reference/Google.Cloud.BigQuery.V2/latest/Google.Cloud.BigQuery.V2.QueryOptions#Google_Cloud_BigQuery_V2_QueryOptions_AllowLargeResults

adbc.bigquery.client_id
    The OAuth client ID. Required for user authentication.

adbc.bigquery.client_secret
    The OAuth client secret. Required for user authentication.

adbc.bigquery.auth_json_credential
    Required if using service authentication. This value is passed to the GoogleCredential.FromJson method.

adbc.bigquery.get_query_results_options.timeout
    Optional. Sets the timeout (in minutes) for the GetQueryResultsOptions value. If not set, defaults to 5 minutes.

adbc.bigquery.include_constraints_getobjects
    Optional. Some callers do not need the constraint details when they get the table information and can improve the speed of obtaining the results. Setting this value to "false" will not include the constraint details. The default value is "true".

adbc.bigquery.large_results_destination_table
    Optional. Sets the DestinationTable value of the QueryOptions if configured. Expects the format to be {projectId}.{datasetId}.{tableId} to set the corresponding values in the TableReference class.

adbc.bigquery.project_id
    The Project ID used for accessing BigQuery.

adbc.bigquery.refresh_token
    The refresh token used for when the generated OAuth token expires. Required for user authentication.

adbc.bigquery.scopes
    Optional. Comma separated list of scopes to include for the credential.

adbc.bigquery.use_legacy_sql
    Sets the UseLegacySql value of the QueryOptions to true if configured; otherwise, the default is false.

Type Support

There are some limitations to both C# and the C# Arrow implementation that limit how BigQuery data types that can be represented by the ADBC driver. For example, the BIGNUMERIC type in BigQuery does not have a large value equivalent to C#.

The following table depicts how the BigQuery ADBC driver converts a BigQuery type to an Arrow type.

| BigQuery Type | Arrow Type | C# Type |----------|:-------------:| | BIGNUMERIC | Decimal256 | string | BOOL | Boolean | bool | BYTES | Binary | byte[] | DATE | Date64 | DateTime | DATETIME | Timestamp | DateTime | FLOAT64 | Double | double | GEOGRAPHY | String | string | INT64 | Int64 | long | NUMERIC | Decimal128 | SqlDecimal | STRING | String | string | STRUCT | String+ | string | TIME |Time64 | long | TIMESTAMP | Timestamp | DateTimeOffset

+A JSON string

See Arrow Schema Details for how BigQuery handles Arrow types.