本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
步骤 3:(可选)创建触发器来计划导出任务
要定期运行导出任务,您可以使用创建计划触发器 Amazon CLI。有关更多信息,请参阅 Amazon Glue 开发者指南中的Amazon Glue 触发器。
如需安排 Amazon Glue 导出任务
-
要查找先前运行的作业名称和参数,请使用该
--json标志输出运行详细信息,包括使用的参数。$./keyspaces-bulk-cli runs export --json输出包括任务名称、工作器配置和每次运行的所有参数:
[ { "JobName": "AmazonKeyspacesExportToS3-aksglue", "RunId": "jr_2d827b0637a36b25f32f03b83e107cf8...", "State": "SUCCEEDED", "Started": "2025-01-30T14:54:22.480000-04:00", "Duration": 127, "Workers": 2, "WorkerType": "G.2X", "Arguments": { "--KEYSPACE_NAME": "catalog", "--DRIVER_CONF": "keyspaces-application.conf", "--TABLE_NAME": "book_awards", "--S3_URI": "s3://amazon-keyspaces-bulk-cli-aksglue-111122223333", "--FORMAT": "parquet" } } ]使用下一步输出中的
JobNameWorkersWorkerType、、和Arguments值来创建触发器。 -
以下 Amazon CLI 命令创建一个名称为的触发器
KeyspacesExportWeeklyTrigger,该触发器每周一在 UTC 时间 12:00 运行一次 Amazon Glue 导出任务。使用上一步的 JSON 输出中的值作为任务名称、工作人员配置和参数。aws glue create-trigger \ --name KeyspacesExportWeeklyTrigger \ --type SCHEDULED \ --schedule "cron(0 12 ? * MON *)" \ --start-on-creation \ --actions '[{ "JobName": "AmazonKeyspacesExportToS3-aksglue", "NumberOfWorkers":2, "WorkerType": "G.2X", "Arguments": { "--KEYSPACE_NAME": "catalog", "--DRIVER_CONF": "keyspaces-application.conf", "--TABLE_NAME": "book_awards", "--S3_URI": "s3://amazon-keyspaces-bulk-cli-aksglue-YOURACCOUNTID", "--FORMAT": "parquet" } }]'-
要覆盖计划任务的特定参数,请更改
Arguments块中的值。以下示例计划导出包含更多工作线程的不同表。aws glue create-trigger \ --name KeyspacesExportWeeklyTrigger \ --type SCHEDULED \ --schedule "cron(0 12 ? * MON *)" \ --start-on-creation \ --actions '[{ "JobName": "AmazonKeyspacesExportToS3-aksglue", "NumberOfWorkers":8, "WorkerType": "G.2X", "Arguments": { "--KEYSPACE_NAME": "my_keyspace", "--DRIVER_CONF": "keyspaces-application.conf", "--TABLE_NAME": "my_table", "--S3_URI": "s3://amazon-keyspaces-bulk-cli-aksglue-YOURACCOUNTID", "--FORMAT": "parquet" } }]'
-
要确认触发器已创建,请使用以下命令。
$aws glue list-triggers该命令的输出如下所示:
{ "TriggerNames": [ "KeyspacesExportWeeklyTrigger" ] }
要清理在本教程中创建的 Amazon 资源,请继续第 4 步:(可选)清理。