ray.data.read_bigquery#
- ray.data.read_bigquery(project_id: str, dataset: str | None = None, query: str | None = None, *, parallelism: int = -1, ray_remote_args: Dict[str, Any] = None, concurrency: int | None = None, override_num_blocks: int | None = None) Dataset[源代码]#
从 BigQuery 创建数据集。
要读取的数据通过
project_id、dataset和/或query参数指定。如果提供了查询,则数据集是从执行query的结果创建的。否则,将读取整个dataset。有关 BigQuery 的更多信息,请参阅以下概念:
此方法使用 BigQuery Storage Read API 进行并行读取,每个流由一个 Ray 读取任务处理。流的数目由
parallelism决定,可以从该接口请求,或者如果未指定则自动选择(参见下面的parallelism参数)。警告
最大查询响应大小为 10GB。更多信息,请参阅 BigQuery 响应过大无法返回。
示例
import ray # Users will need to authenticate beforehand (https://cloud.google.com/sdk/gcloud/reference/auth/login) ds = ray.data.read_bigquery( project_id="my_project", query="SELECT * FROM `bigquery-public-data.samples.gsod` LIMIT 1000", )
- 参数:
project_id – 托管要读取数据集的关联 Google Cloud 项目的名称。更多信息,请参阅 创建和管理项目。
dataset – 在 BigQuery 中托管的数据集的名称,格式为
dataset_id.table_id。数据集 ID 和表 ID 都必须存在,否则将引发异常。parallelism – 此参数已弃用。请使用
override_num_blocks参数。ray_remote_args – kwargs 传递给读取任务中的 ray.remote。
concurrency – Ray 任务的最大并发运行数量。设置此项以控制并发运行的任务数量。这不会改变运行的总任务数或输出的总块数。默认情况下,并发性是根据可用资源动态决定的。
override_num_blocks – 覆盖所有读取任务的输出块数量。默认情况下,输出块的数量是根据输入数据大小和可用资源动态决定的。在大多数情况下,您不应手动设置此值。
- 返回:
从在指定BigQuery数据集上执行查询(或读取整个数据集)的结果中生成行的数据集。
PublicAPI (alpha): 此API处于alpha阶段,可能在稳定之前发生变化。