adbc_driver_bigquery¶
底层 API¶
BigQuery 驱动程序的底层 ADBC 绑定。
- class adbc_driver_bigquery.DatabaseOptions(*values)¶
Bases:
EnumBigQuery 驱动程序专用的数据库选项。
- AUTH_CLIENT_ID = 'adbc.bigquery.sql.auth.client_id'¶
如果 AUTH_TYPE 为 AUTH_VALUE_USER_AUTHENTICATION,则指定用于 BigQuery 连接的客户端 ID、客户端密钥和刷新令牌。
- 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)¶
Bases:
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。
有关更多信息,请参阅: https://cloud.google.com/bigquery/docs/data#nested
- 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 (Legacy 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 兼容门面。