adbc_driver_bigquery¶
底层 API¶
BigQuery 驱动的底层 ADBC 绑定。
- class adbc_driver_bigquery.DatabaseOptions(*values)¶
基类:
EnumBigQuery 驱动特定的数据库选项。
- AUTH_CLIENT_ID = 'adbc.bigquery.sql.auth.client_id'¶
如果 AUTH_TYPE 是 AUTH_VALUE_USER_AUTHENTICATION,则指定用于 BigQuery 连接的客户端 ID、客户端密钥和 refresh_token
- AUTH_CLIENT_SECRET = 'adbc.bigquery.sql.auth.client_secret'¶
- AUTH_CREDENTIALS = 'adbc.bigquery.sql.auth_credentials'¶
指定凭据的值。如果 AUTH_TYPE 是 AUTH_VALUE_JSON_CREDENTIAL_FILE,则应为 JSON 凭据文件的路径。
或者,如果 AUTH_TYPE 是 AUTH_VALUE_JSON_CREDENTIAL_STRING,则应为编码的 JSON 字符串。
- AUTH_REFRESH_TOKEN = 'adbc.bigquery.sql.auth.refresh_token'¶
- AUTH_TYPE = 'adbc.bigquery.sql.auth_type'¶
指定用于 BigQuery 连接的身份验证类型,基于 BigQuery 驱动所支持的类型。默认值为“auth_bigquery”(使用 AUTH_VALUE_* 常量指定所需的身份验证类型)。
- AUTH_VALUE_BIGQUERY = 'adbc.bigquery.sql.auth_type.auth_bigquery'¶
使用 Google Cloud SDK 中实现的默认身份验证方法
- AUTH_VALUE_JSON_CREDENTIAL_FILE = 'adbc.bigquery.sql.auth_type.json_credential_file'¶
指定使用 JSON 凭据文件进行身份验证
- AUTH_VALUE_JSON_CREDENTIAL_STRING = 'adbc.bigquery.sql.auth_type.json_credential_string'¶
指定使用 JSON 凭据字符串进行身份验证
- AUTH_VALUE_USER_AUTHENTICATION = 'adbc.bigquery.sql.auth_type.user_authentication'¶
指定使用访问令牌进行身份验证
- DATASET_ID = 'adbc.bigquery.sql.dataset_id'¶
指定用于 BigQuery 连接的数据集 ID。
- LOCATION = 'adbc.bigquery.sql.location'¶
指定用于 BigQuery 连接的位置。
- PROJECT_ID = 'adbc.bigquery.sql.project_id'¶
指定用于 BigQuery 连接的项目 ID。
- TABLE_ID = 'adbc.bigquery.sql.table_id'¶
指定用于 BigQuery 连接的表 ID。
- class adbc_driver_bigquery.StatementOptions(*values)¶
基类:
EnumBigQuery 驱动特定的语句选项。
- ALLOW_LARGE_RESULTS = 'adbc.bigquery.sql.query.allow_large_results'¶
ALLOW_LARGE_RESULTS 允许查询生成任意大的结果表。目标必须是表。使用此选项时,即使结果集很小,查询执行时间也会更长。
有关其他限制,请参阅:https://cloud.google.com/bigquery/querying-data#largequeryresults
- CREATE_DISPOSITION = 'adbc.bigquery.sql.query.create_disposition'¶
CREATE_DISPOSITION 指定在何种情况下创建目标表。默认值为
CREATE_IF_NEEDED。支持以下值
CREATE_IF_NEEDED:如果表不存在,将创建表。在作业成功完成后,表将原子性地创建。CREATE_NEVER:确保表必须已经存在,并且不会自动创建。
- CREATE_SESSION = 'adbc.bigquery.sql.query.create_session'¶
当为 true 时,CreateSession 将触发新会话的创建。
- DEFAULT_DATASET_ID = 'adbc.bigquery.sql.query.default_dataset_id'¶
- DEFAULT_PROJECT_ID = 'adbc.bigquery.sql.query.default_project_id'¶
DEFAULT_PROJECT_ID 和 DEFAULT_DATASET_ID 指定用于查询中非限定表名的数据集。如果设置了 DEFAULT_PROJECT_ID,则 DEFAULT_DATASET_ID 也必须设置。
- DESTINATION_TABLE = 'adbc.bigquery.sql.query.destination_table'¶
目标表是查询结果将被写入的表。如果此字段为 nil,将创建一个临时表。
- DISABLE_FLATTEN_RESULTS = 'adbc.bigquery.sql.query.disable_flatten_results'¶
DISABLE_FLATTEN_RESULTS 阻止结果被扁平化。如果此字段为 false,则嵌套和重复字段的结果将被扁平化。
DISABLE_FLATTEN_RESULTS 暗示 ALLOW_LARGE_RESULTS。
- DISABLE_QUERY_CACHE = 'adbc.bigquery.sql.query.disable_query_cache'¶
DISABLE_QUERY_CACHE 阻止从查询缓存中获取结果。如果此字段为 false,则如果结果可用,则从缓存中获取。
查询缓存是一种尽力而为的缓存,每当查询中的表被修改时就会刷新。缓存结果仅在查询目标表中未指定 TableID 时可用。
更多信息请参阅:https://cloud.google.com/bigquery/querying-data#querycaching
- DRY_RUN = 'adbc.bigquery.sql.query.dry_run'¶
如果为 true,则不实际运行此作业。有效查询将返回一个大部分为空的响应,其中包含一些处理统计信息,而无效查询将返回与非空运行相同的错误。
- JOB_TIMEOUT = 'adbc.bigquery.sql.query.job_timeout'¶
为特定作业设置一个尽力而为的截止时间。如果作业执行超出此超时,BigQuery 可能会尝试自动取消此工作。
此截止时间一旦创建就无法调整或删除。
- MAX_BILLING_TIER = 'adbc.bigquery.sql.query.max_billing_tier'¶
MAX_BILLING_TIER 为查询设置最大计费层级。资源使用超出此层级的查询将失败(不产生费用)。如果此字段为零,则将使用项目默认值。
- MAX_BYTES_BILLED = 'adbc.bigquery.sql.query.max_bytes_billed'¶
MAX_BYTES_BILLED 限制此作业的计费字节数。超出此限制的查询将失败(不产生费用)。如果此字段小于 1,则将使用项目默认值。
- PRIORITY = 'adbc.bigquery.sql.query.priority'¶
PRIORITY 指定调度查询的优先级。默认优先级为
INTERACTIVE。更多信息请参阅:https://cloud.google.com/bigquery/querying-data#batchqueries
支持以下值
BATCH:BatchPriority 指定查询应以批处理优先级调度。BigQuery 会代表您将每个批处理查询排队,并在空闲资源可用时立即启动查询,通常在几分钟内。如果 BigQuery 在 24 小时内未启动查询,BigQuery 会将作业优先级更改为交互式。批处理查询不计入您的并发速率限制,这使得一次启动许多查询更容易。更多信息可以在以下网址找到:https://cloud.google.com/bigquery/docs/running-queries#batchqueriesINTERACTIVE:指定查询应以交互式优先级调度,这意味着查询会尽快执行。交互式查询计入您的并发速率限制和每日限制。它是查询执行的默认优先级。更多信息可以在以下网址找到:https://cloud.google.com/bigquery/docs/running-queries#queries
- USE_LEGACY_SQL = 'adbc.bigquery.sql.query.use_legacy_sql'¶
USE_LEGACY_SQL 导致查询使用传统 SQL。
- WRITE_DISPOSITION = 'adbc.bigquery.sql.query.write_disposition'¶
WRITE_DISPOSITION 指定如何处理目标表中现有数据。默认值为
WRITE_EMPTY。支持以下值
WRITE_APPEND:将追加到目标表中任何现有数据。在作业成功完成后,数据将原子性地追加。WRITE_TRUNCATE:覆盖目标表中现有数据。在作业成功完成后,数据将原子性地覆盖。WRITE_EMPTY:如果目标表已包含数据,则写入失败。
DBAPI 2.0 API¶
ADBC BigQuery 驱动的 DBAPI 2.0 兼容门面。