Beam 数据集
Beam API 已弃用,将在下一个主要版本中删除。
一些数据集太大,无法在一台机器上处理。相反,您可以使用 Apache Beam 处理它们,这是一个用于并行数据处理的库。处理管道在分布式处理后端上执行,例如 Apache Flink、Apache Spark 或 Google Cloud Dataflow。
我们已经为一些较大的数据集创建了 Beam 管道,例如 wikipedia 和 wiki40b。您可以使用 load_dataset() 正常加载这些数据集。但是,如果您想使用 Dataflow 运行自己的 Beam 管道,请按照以下步骤操作
- 指定您要处理的数据集和配置
DATASET_NAME=your_dataset_name # ex: wikipedia
CONFIG_NAME=your_config_name # ex: 20220301.en
- 输入您的 Google Cloud Platform 信息
PROJECT=your_project
BUCKET=your_bucket
REGION=your_region
- 指定您的 Python 需求
echo "datasets" > /tmp/beam_requirements.txt
echo "apache_beam" >> /tmp/beam_requirements.txt
- 运行管道
datasets-cli run_beam datasets/$DATASET_NAME \
--name $CONFIG_NAME \
--save_info \
--cache_dir gs://$BUCKET/cache/datasets \
--beam_pipeline_options=\
"runner=DataflowRunner,project=$PROJECT,job_name=$DATASET_NAME-gen,"\
"staging_location=gs://$BUCKET/binaries,temp_location=gs://$BUCKET/temp,"\
"region=$REGION,requirements_file=/tmp/beam_requirements.txt"
运行管道时,您可以调整参数以更改运行程序(Flink 或 Spark)、输出位置(S3 存储桶或 HDFS)以及工作程序数量。