Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Les exemples de code suivants vous montrent comment effectuer des actions et implémenter des scénarios courants à l'aide du AWS Command Line Interface with AWS Glue.
Les actions sont des extraits de code de programmes plus larges et doivent être exécutées dans leur contexte. Alors que les actions vous indiquent comment appeler des fonctions de service individuelles, vous pouvez les voir en contexte dans leurs scénarios associés.
Chaque exemple inclut un lien vers le code source complet, où vous trouverez des instructions sur la façon de configurer et d'exécuter le code en contexte.
Rubriques
Actions
L'exemple de code suivant montre comment utiliserbatch-stop-job-run
.
- AWS CLI
-
Pour arrêter les exécutions de tâches
L'
batch-stop-job-run
exemple suivant arrête l'exécution d'une tâche.aws glue batch-stop-job-run \ --job-name
"my-testing-job"
\ --job-run-idjr_852f1de1f29fb62e0ba4166c33970803935d87f14f96cfdee5089d5274a61d3f
Sortie :
{ "SuccessfulSubmissions": [ { "JobName": "my-testing-job", "JobRunId": "jr_852f1de1f29fb62e0ba4166c33970803935d87f14f96cfdee5089d5274a61d3f" } ], "Errors": [], "ResponseMetadata": { "RequestId": "66bd6b90-01db-44ab-95b9-6aeff0e73d88", "HTTPStatusCode": 200, "HTTPHeaders": { "date": "Fri, 16 Oct 2020 20:54:51 GMT", "content-type": "application/x-amz-json-1.1", "content-length": "148", "connection": "keep-alive", "x-amzn-requestid": "66bd6b90-01db-44ab-95b9-6aeff0e73d88" }, "RetryAttempts": 0 } }
Pour plus d’informations, consultez Exécutions de tâches dans le Guide du développeur AWS Glue.
-
Pour plus de détails sur l'API, reportez-vous BatchStopJobRun
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utilisercreate-connection
.
- AWS CLI
-
Pour créer une connexion pour les magasins AWS de données Glue
L'
create-connection
exemple suivant crée une connexion dans le catalogue de données AWS Glue qui fournit des informations de connexion pour un magasin de données Kafka.aws glue create-connection \ --connection-input '
{ \ "Name":"conn-kafka-custom", \ "Description":"kafka connection with ssl to custom kafka", \ "ConnectionType":"KAFKA", \ "ConnectionProperties":{ \ "KAFKA_BOOTSTRAP_SERVERS":"<Kafka-broker-server-url>:<SSL-Port>", \ "KAFKA_SSL_ENABLED":"true", \ "KAFKA_CUSTOM_CERT": "s3://bucket/prefix/cert-file.pem" \ }, \ "PhysicalConnectionRequirements":{ \ "SubnetId":"subnet-1234", \ "SecurityGroupIdList":["sg-1234"], \ "AvailabilityZone":"us-east-1a"} \ }
' \ --regionus-east-1
--endpointhttps://glue.us-east-1.amazonaws.com
Cette commande ne produit aucun résultat.
Pour plus d'informations, consultez la section Defining Connections in the AWS Glue Data Catalog du AWS Glue Developer Guide.
-
Pour plus de détails sur l'API, reportez-vous CreateConnection
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utilisercreate-database
.
- AWS CLI
-
Pour créer une base de données
L'
create-database
exemple suivant crée une base de données dans le catalogue de données AWS Glue.aws glue create-database \ --database-input "{\"Name\":\"tempdb\"}" \ --profile
my_profile
\ --endpointhttps://glue.us-east-1.amazonaws.com
Cette commande ne produit aucun résultat.
Pour plus d’informations, consultez Définition d’une base de données dans votre catalogue de données dans le Guide du développeur AWS Glue.
-
Pour plus de détails sur l'API, reportez-vous CreateDatabase
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utilisercreate-job
.
- AWS CLI
-
Pour créer une tâche afin de transformer des données
L’exemple
create-job
suivant crée une tâche de streaming qui exécute un script stocké dans S3.aws glue create-job \ --name
my-testing-job
\ --roleAWSGlueServiceRoleDefault
\ --command '{ \ "Name": "gluestreaming", \ "ScriptLocation": "s3://amzn-s3-demo-bucket/folder/" \ }
' \ --regionus-east-1
\ --outputjson
\ --default-arguments '{ \ "--job-language":"scala", \ "--class":"GlueApp" \ }
' \ --profilemy-profile
\ --endpointhttps://glue.us-east-1.amazonaws.com
Contenu de
test_script.scala
:import com.amazonaws.services.glue.ChoiceOption import com.amazonaws.services.glue.GlueContext import com.amazonaws.services.glue.MappingSpec import com.amazonaws.services.glue.ResolveSpec import com.amazonaws.services.glue.errors.CallSite import com.amazonaws.services.glue.util.GlueArgParser import com.amazonaws.services.glue.util.Job import com.amazonaws.services.glue.util.JsonOptions import org.apache.spark.SparkContext import scala.collection.JavaConverters._ object GlueApp { def main(sysArgs: Array[String]) { val spark: SparkContext = new SparkContext() val glueContext: GlueContext = new GlueContext(spark) // @params: [JOB_NAME] val args = GlueArgParser.getResolvedOptions(sysArgs, Seq("JOB_NAME").toArray) Job.init(args("JOB_NAME"), glueContext, args.asJava) // @type: DataSource // @args: [database = "tempdb", table_name = "s3-source", transformation_ctx = "datasource0"] // @return: datasource0 // @inputs: [] val datasource0 = glueContext.getCatalogSource(database = "tempdb", tableName = "s3-source", redshiftTmpDir = "", transformationContext = "datasource0").getDynamicFrame() // @type: ApplyMapping // @args: [mapping = [("sensorid", "int", "sensorid", "int"), ("currenttemperature", "int", "currenttemperature", "int"), ("status", "string", "status", "string")], transformation_ctx = "applymapping1"] // @return: applymapping1 // @inputs: [frame = datasource0] val applymapping1 = datasource0.applyMapping(mappings = Seq(("sensorid", "int", "sensorid", "int"), ("currenttemperature", "int", "currenttemperature", "int"), ("status", "string", "status", "string")), caseSensitive = false, transformationContext = "applymapping1") // @type: SelectFields // @args: [paths = ["sensorid", "currenttemperature", "status"], transformation_ctx = "selectfields2"] // @return: selectfields2 // @inputs: [frame = applymapping1] val selectfields2 = applymapping1.selectFields(paths = Seq("sensorid", "currenttemperature", "status"), transformationContext = "selectfields2") // @type: ResolveChoice // @args: [choice = "MATCH_CATALOG", database = "tempdb", table_name = "my-s3-sink", transformation_ctx = "resolvechoice3"] // @return: resolvechoice3 // @inputs: [frame = selectfields2] val resolvechoice3 = selectfields2.resolveChoice(choiceOption = Some(ChoiceOption("MATCH_CATALOG")), database = Some("tempdb"), tableName = Some("my-s3-sink"), transformationContext = "resolvechoice3") // @type: DataSink // @args: [database = "tempdb", table_name = "my-s3-sink", transformation_ctx = "datasink4"] // @return: datasink4 // @inputs: [frame = resolvechoice3] val datasink4 = glueContext.getCatalogSink(database = "tempdb", tableName = "my-s3-sink", redshiftTmpDir = "", transformationContext = "datasink4").writeDynamicFrame(resolvechoice3) Job.commit() } }
Sortie :
{ "Name": "my-testing-job" }
Pour plus d'informations, consultez la section Création de jobs dans AWS Glue du AWS Glue Developer Guide.
-
Pour plus de détails sur l'API, reportez-vous CreateJob
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utilisercreate-table
.
- AWS CLI
-
Exemple 1 : pour créer une table pour un flux de données Kinesis
L'
create-table
exemple suivant crée une table dans le catalogue de données AWS Glue qui décrit un flux de données Kinesis.aws glue create-table \ --database-name
tempdb
\ --table-input '{"Name":"test-kinesis-input", "StorageDescriptor":{ \ "Columns":[ \ {"Name":"sensorid", "Type":"int"}, \ {"Name":"currenttemperature", "Type":"int"}, \ {"Name":"status", "Type":"string"} ], \ "Location":"my-testing-stream", \ "Parameters":{ \ "typeOfData":"kinesis","streamName":"my-testing-stream", \ "kinesisUrl":"https://kinesis.us-east-1.amazonaws.com" \ }, \ "SerdeInfo":{ \ "SerializationLibrary":"org.openx.data.jsonserde.JsonSerDe"} \ }, \ "Parameters":{ \ "classification":"json"} \ }
' \ --profilemy-profile
\ --endpointhttps://glue.us-east-1.amazonaws.com
Cette commande ne produit aucun résultat.
Pour plus d'informations, consultez la section Définition des tables dans le catalogue de données AWS Glue du AWS Glue Developer Guide.
Exemple 2 : pour créer une table pour un magasin de données Kafka
L'
create-table
exemple suivant crée une table dans le catalogue de données AWS Glue qui décrit un magasin de données Kafka.aws glue create-table \ --database-name
tempdb
\ --table-input '{"Name":"test-kafka-input", "StorageDescriptor":{ \ "Columns":[ \ {"Name":"sensorid", "Type":"int"}, \ {"Name":"currenttemperature", "Type":"int"}, \ {"Name":"status", "Type":"string"} ], \ "Location":"glue-topic", \ "Parameters":{ \ "typeOfData":"kafka","topicName":"glue-topic", \ "connectionName":"my-kafka-connection" }, \ "SerdeInfo":{ \ "SerializationLibrary":"org.apache.hadoop.hive.serde2.OpenCSVSerde"} \ }, \ "Parameters":{ \ "separatorChar":","} \ }
' \ --profilemy-profile
\ --endpointhttps://glue.us-east-1.amazonaws.com
Cette commande ne produit aucun résultat.
Pour plus d'informations, consultez la section Définition des tables dans le catalogue de données AWS Glue du AWS Glue Developer Guide.
Exemple 3 : pour créer une table pour un magasin de données AWS S3
L'
create-table
exemple suivant crée une table dans le catalogue de données AWS Glue qui décrit un magasin de données AWS Simple Storage Service (AWS S3).aws glue create-table \ --database-name
tempdb
\ --table-input '{"Name":"s3-output", "StorageDescriptor":{ \ "Columns":[ \ {"Name":"s1", "Type":"string"}, \ {"Name":"s2", "Type":"int"}, \ {"Name":"s3", "Type":"string"} ], \ "Location":"s3://bucket-path/", \ "SerdeInfo":{ \ "SerializationLibrary":"org.openx.data.jsonserde.JsonSerDe"} \ }, \ "Parameters":{ \ "classification":"json"} \ }
' \ --profilemy-profile
\ --endpointhttps://glue.us-east-1.amazonaws.com
Cette commande ne produit aucun résultat.
Pour plus d'informations, consultez la section Définition des tables dans le catalogue de données AWS Glue du AWS Glue Developer Guide.
-
Pour plus de détails sur l'API, reportez-vous CreateTable
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserdelete-job
.
- AWS CLI
-
Pour supprimer une tâche
L’exemple
delete-job
suivant supprime une tâche qui n’est plus nécessaire.aws glue delete-job \ --job-name
my-testing-job
Sortie :
{ "JobName": "my-testing-job" }
Pour plus d'informations, consultez Working with Jobs on the AWS Glue Console dans le AWS Glue Developer Guide.
-
Pour plus de détails sur l'API, reportez-vous DeleteJob
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserget-databases
.
- AWS CLI
-
Pour répertorier les définitions de certaines ou de toutes les bases de données du AWS Glue Data Catalog
L’exemple
get-databases
suivant renvoie des informations sur les bases de données du catalogue de données.aws glue get-databases
Sortie :
{ "DatabaseList": [ { "Name": "default", "Description": "Default Hive database", "LocationUri": "file:/spark-warehouse", "CreateTime": 1602084052.0, "CreateTableDefaultPermissions": [ { "Principal": { "DataLakePrincipalIdentifier": "IAM_ALLOWED_PRINCIPALS" }, "Permissions": [ "ALL" ] } ], "CatalogId": "111122223333" }, { "Name": "flights-db", "CreateTime": 1587072847.0, "CreateTableDefaultPermissions": [ { "Principal": { "DataLakePrincipalIdentifier": "IAM_ALLOWED_PRINCIPALS" }, "Permissions": [ "ALL" ] } ], "CatalogId": "111122223333" }, { "Name": "legislators", "CreateTime": 1601415625.0, "CreateTableDefaultPermissions": [ { "Principal": { "DataLakePrincipalIdentifier": "IAM_ALLOWED_PRINCIPALS" }, "Permissions": [ "ALL" ] } ], "CatalogId": "111122223333" }, { "Name": "tempdb", "CreateTime": 1601498566.0, "CreateTableDefaultPermissions": [ { "Principal": { "DataLakePrincipalIdentifier": "IAM_ALLOWED_PRINCIPALS" }, "Permissions": [ "ALL" ] } ], "CatalogId": "111122223333" } ] }
Pour plus d’informations, consultez Définition d’une base de données dans votre catalogue de données dans le Guide du développeur AWS Glue.
-
Pour plus de détails sur l'API, reportez-vous GetDatabases
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserget-job-run
.
- AWS CLI
-
Pour obtenir des informations sur l’exécution d’une tâche
L’exemple
get-job-run
suivant récupère des informations sur l’exécution d’une tâche.aws glue get-job-run \ --job-name
"Combine legistators data"
\ --run-idjr_012e176506505074d94d761755e5c62538ee1aad6f17d39f527e9140cf0c9a5e
Sortie :
{ "JobRun": { "Id": "jr_012e176506505074d94d761755e5c62538ee1aad6f17d39f527e9140cf0c9a5e", "Attempt": 0, "JobName": "Combine legistators data", "StartedOn": 1602873931.255, "LastModifiedOn": 1602874075.985, "CompletedOn": 1602874075.985, "JobRunState": "SUCCEEDED", "Arguments": { "--enable-continuous-cloudwatch-log": "true", "--enable-metrics": "", "--enable-spark-ui": "true", "--job-bookmark-option": "job-bookmark-enable", "--spark-event-logs-path": "s3://aws-glue-assets-111122223333-us-east-1/sparkHistoryLogs/" }, "PredecessorRuns": [], "AllocatedCapacity": 10, "ExecutionTime": 117, "Timeout": 2880, "MaxCapacity": 10.0, "WorkerType": "G.1X", "NumberOfWorkers": 10, "LogGroupName": "/aws-glue/jobs", "GlueVersion": "2.0" } }
Pour plus d’informations, consultez Exécutions de tâches dans le Guide du développeur AWS Glue.
-
Pour plus de détails sur l'API, reportez-vous GetJobRun
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserget-job-runs
.
- AWS CLI
-
Pour obtenir des informations sur toutes les exécutions d’une tâche
L’exemple
get-job-runs
suivant récupère des informations sur toutes les exécutions d’une tâche.aws glue get-job-runs \ --job-name
"my-testing-job"
Sortie :
{ "JobRuns": [ { "Id": "jr_012e176506505074d94d761755e5c62538ee1aad6f17d39f527e9140cf0c9a5e", "Attempt": 0, "JobName": "my-testing-job", "StartedOn": 1602873931.255, "LastModifiedOn": 1602874075.985, "CompletedOn": 1602874075.985, "JobRunState": "SUCCEEDED", "Arguments": { "--enable-continuous-cloudwatch-log": "true", "--enable-metrics": "", "--enable-spark-ui": "true", "--job-bookmark-option": "job-bookmark-enable", "--spark-event-logs-path": "s3://aws-glue-assets-111122223333-us-east-1/sparkHistoryLogs/" }, "PredecessorRuns": [], "AllocatedCapacity": 10, "ExecutionTime": 117, "Timeout": 2880, "MaxCapacity": 10.0, "WorkerType": "G.1X", "NumberOfWorkers": 10, "LogGroupName": "/aws-glue/jobs", "GlueVersion": "2.0" }, { "Id": "jr_03cc19ddab11c4e244d3f735567de74ff93b0b3ef468a713ffe73e53d1aec08f_attempt_2", "Attempt": 2, "PreviousRunId": "jr_03cc19ddab11c4e244d3f735567de74ff93b0b3ef468a713ffe73e53d1aec08f_attempt_1", "JobName": "my-testing-job", "StartedOn": 1602811168.496, "LastModifiedOn": 1602811282.39, "CompletedOn": 1602811282.39, "JobRunState": "FAILED", "ErrorMessage": "An error occurred while calling o122.pyWriteDynamicFrame. Access Denied (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: 021AAB703DB20A2D; S3 Extended Request ID: teZk24Y09TkXzBvMPG502L5VJBhe9DJuWA9/TXtuGOqfByajkfL/Tlqt5JBGdEGpigAqzdMDM/U=)", "PredecessorRuns": [], "AllocatedCapacity": 10, "ExecutionTime": 110, "Timeout": 2880, "MaxCapacity": 10.0, "WorkerType": "G.1X", "NumberOfWorkers": 10, "LogGroupName": "/aws-glue/jobs", "GlueVersion": "2.0" }, { "Id": "jr_03cc19ddab11c4e244d3f735567de74ff93b0b3ef468a713ffe73e53d1aec08f_attempt_1", "Attempt": 1, "PreviousRunId": "jr_03cc19ddab11c4e244d3f735567de74ff93b0b3ef468a713ffe73e53d1aec08f", "JobName": "my-testing-job", "StartedOn": 1602811020.518, "LastModifiedOn": 1602811138.364, "CompletedOn": 1602811138.364, "JobRunState": "FAILED", "ErrorMessage": "An error occurred while calling o122.pyWriteDynamicFrame. Access Denied (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: 2671D37856AE7ABB; S3 Extended Request ID: RLJCJw20brV+PpC6GpORahyF2fp9flB5SSb2bTGPnUSPVizLXRl1PN3QZldb+v1o9qRVktNYbW8=)", "PredecessorRuns": [], "AllocatedCapacity": 10, "ExecutionTime": 113, "Timeout": 2880, "MaxCapacity": 10.0, "WorkerType": "G.1X", "NumberOfWorkers": 10, "LogGroupName": "/aws-glue/jobs", "GlueVersion": "2.0" } ] }
Pour plus d’informations, consultez Exécutions de tâches dans le Guide du développeur AWS Glue.
-
Pour plus de détails sur l'API, reportez-vous GetJobRuns
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserget-job
.
- AWS CLI
-
Pour récupérer des informations sur une tâche
L’exemple
get-job
suivant récupère des informations sur une tâche.aws glue get-job \ --job-name
my-testing-job
Sortie :
{ "Job": { "Name": "my-testing-job", "Role": "Glue_DefaultRole", "CreatedOn": 1602805698.167, "LastModifiedOn": 1602805698.167, "ExecutionProperty": { "MaxConcurrentRuns": 1 }, "Command": { "Name": "gluestreaming", "ScriptLocation": "s3://janetst-bucket-01/Scripts/test_script.scala", "PythonVersion": "2" }, "DefaultArguments": { "--class": "GlueApp", "--job-language": "scala" }, "MaxRetries": 0, "AllocatedCapacity": 10, "MaxCapacity": 10.0, "GlueVersion": "1.0" } }
Pour plus d’informations, consultez Tâches dans le Guide du développeur AWS Glue.
-
Pour plus de détails sur l'API, reportez-vous GetJob
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserget-plan
.
- AWS CLI
-
Pour obtenir le code généré pour mapper les données des tables sources vers les tables cibles
Ce qui suit
get-plan
extrait le code généré pour mapper les colonnes de la source de données à la cible de données.aws glue get-plan --mapping '
[ \ { \ "SourcePath":"sensorid", \ "SourceTable":"anything", \ "SourceType":"int", \ "TargetPath":"sensorid", \ "TargetTable":"anything", \ "TargetType":"int" \ }, \ { \ "SourcePath":"currenttemperature", \ "SourceTable":"anything", \ "SourceType":"int", \ "TargetPath":"currenttemperature", \ "TargetTable":"anything", \ "TargetType":"int" \ }, \ { \ "SourcePath":"status", \ "SourceTable":"anything", \ "SourceType":"string", \ "TargetPath":"status", \ "TargetTable":"anything", \ "TargetType":"string" \ }]
' \ --source '{ \ "DatabaseName":"tempdb", \ "TableName":"s3-source" \ }
' \ --sinks '[ \ { \ "DatabaseName":"tempdb", \ "TableName":"my-s3-sink" \ }]
' --language"scala"
--endpointhttps://glue.us-east-1.amazonaws.com
--output"text"
Sortie :
import com.amazonaws.services.glue.ChoiceOption import com.amazonaws.services.glue.GlueContext import com.amazonaws.services.glue.MappingSpec import com.amazonaws.services.glue.ResolveSpec import com.amazonaws.services.glue.errors.CallSite import com.amazonaws.services.glue.util.GlueArgParser import com.amazonaws.services.glue.util.Job import com.amazonaws.services.glue.util.JsonOptions import org.apache.spark.SparkContext import scala.collection.JavaConverters._ object GlueApp { def main(sysArgs: Array[String]) { val spark: SparkContext = new SparkContext() val glueContext: GlueContext = new GlueContext(spark) // @params: [JOB_NAME] val args = GlueArgParser.getResolvedOptions(sysArgs, Seq("JOB_NAME").toArray) Job.init(args("JOB_NAME"), glueContext, args.asJava) // @type: DataSource // @args: [database = "tempdb", table_name = "s3-source", transformation_ctx = "datasource0"] // @return: datasource0 // @inputs: [] val datasource0 = glueContext.getCatalogSource(database = "tempdb", tableName = "s3-source", redshiftTmpDir = "", transformationContext = "datasource0").getDynamicFrame() // @type: ApplyMapping // @args: [mapping = [("sensorid", "int", "sensorid", "int"), ("currenttemperature", "int", "currenttemperature", "int"), ("status", "string", "status", "string")], transformation_ctx = "applymapping1"] // @return: applymapping1 // @inputs: [frame = datasource0] val applymapping1 = datasource0.applyMapping(mappings = Seq(("sensorid", "int", "sensorid", "int"), ("currenttemperature", "int", "currenttemperature", "int"), ("status", "string", "status", "string")), caseSensitive = false, transformationContext = "applymapping1") // @type: SelectFields // @args: [paths = ["sensorid", "currenttemperature", "status"], transformation_ctx = "selectfields2"] // @return: selectfields2 // @inputs: [frame = applymapping1] val selectfields2 = applymapping1.selectFields(paths = Seq("sensorid", "currenttemperature", "status"), transformationContext = "selectfields2") // @type: ResolveChoice // @args: [choice = "MATCH_CATALOG", database = "tempdb", table_name = "my-s3-sink", transformation_ctx = "resolvechoice3"] // @return: resolvechoice3 // @inputs: [frame = selectfields2] val resolvechoice3 = selectfields2.resolveChoice(choiceOption = Some(ChoiceOption("MATCH_CATALOG")), database = Some("tempdb"), tableName = Some("my-s3-sink"), transformationContext = "resolvechoice3") // @type: DataSink // @args: [database = "tempdb", table_name = "my-s3-sink", transformation_ctx = "datasink4"] // @return: datasink4 // @inputs: [frame = resolvechoice3] val datasink4 = glueContext.getCatalogSink(database = "tempdb", tableName = "my-s3-sink", redshiftTmpDir = "", transformationContext = "datasink4").writeDynamicFrame(resolvechoice3) Job.commit() } }
Pour plus d'informations, consultez la section Modification de scripts dans AWS Glue du manuel AWS Glue Developer Guide.
-
Pour plus de détails sur l'API, reportez-vous GetPlan
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserget-tables
.
- AWS CLI
-
Pour répertorier les définitions de tout ou partie des tables dans la base de données spécifiée
L’exemple
get-tables
suivant renvoie des informations sur les tables de la base de données spécifiée.aws glue get-tables --database-name '
tempdb
'Sortie :
{ "TableList": [ { "Name": "my-s3-sink", "DatabaseName": "tempdb", "CreateTime": 1602730539.0, "UpdateTime": 1602730539.0, "Retention": 0, "StorageDescriptor": { "Columns": [ { "Name": "sensorid", "Type": "int" }, { "Name": "currenttemperature", "Type": "int" }, { "Name": "status", "Type": "string" } ], "Location": "s3://janetst-bucket-01/test-s3-output/", "Compressed": false, "NumberOfBuckets": 0, "SerdeInfo": { "SerializationLibrary": "org.openx.data.jsonserde.JsonSerDe" }, "SortColumns": [], "StoredAsSubDirectories": false }, "Parameters": { "classification": "json" }, "CreatedBy": "arn:aws:iam::007436865787:user/JRSTERN", "IsRegisteredWithLakeFormation": false, "CatalogId": "007436865787" }, { "Name": "s3-source", "DatabaseName": "tempdb", "CreateTime": 1602730658.0, "UpdateTime": 1602730658.0, "Retention": 0, "StorageDescriptor": { "Columns": [ { "Name": "sensorid", "Type": "int" }, { "Name": "currenttemperature", "Type": "int" }, { "Name": "status", "Type": "string" } ], "Location": "s3://janetst-bucket-01/", "Compressed": false, "NumberOfBuckets": 0, "SortColumns": [], "StoredAsSubDirectories": false }, "Parameters": { "classification": "json" }, "CreatedBy": "arn:aws:iam::007436865787:user/JRSTERN", "IsRegisteredWithLakeFormation": false, "CatalogId": "007436865787" }, { "Name": "test-kinesis-input", "DatabaseName": "tempdb", "CreateTime": 1601507001.0, "UpdateTime": 1601507001.0, "Retention": 0, "StorageDescriptor": { "Columns": [ { "Name": "sensorid", "Type": "int" }, { "Name": "currenttemperature", "Type": "int" }, { "Name": "status", "Type": "string" } ], "Location": "my-testing-stream", "Compressed": false, "NumberOfBuckets": 0, "SerdeInfo": { "SerializationLibrary": "org.openx.data.jsonserde.JsonSerDe" }, "SortColumns": [], "Parameters": { "kinesisUrl": "https://kinesis.us-east-1.amazonaws.com", "streamName": "my-testing-stream", "typeOfData": "kinesis" }, "StoredAsSubDirectories": false }, "Parameters": { "classification": "json" }, "CreatedBy": "arn:aws:iam::007436865787:user/JRSTERN", "IsRegisteredWithLakeFormation": false, "CatalogId": "007436865787" } ] }
Pour plus d'informations, consultez la section Définition des tables dans le catalogue de données AWS Glue du AWS Glue Developer Guide.
-
Pour plus de détails sur l'API, reportez-vous GetTables
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserstart-crawler
.
- AWS CLI
-
Pour démarrer un crawler
L'exemple
start-crawler
suivant démarre un crawler.aws glue start-crawler --name
my-crawler
Sortie :
None
Pour plus d’informations, consultez Définition des crawlers dans le Guide du développeur AWS Glue.
-
Pour plus de détails sur l'API, reportez-vous StartCrawler
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserstart-job-run
.
- AWS CLI
-
Pour commencer l’exécution d’une tâche
L'exemple
start-job-run
suivant démarre une tâche.aws glue start-job-run \ --job-name
my-job
Sortie :
{ "JobRunId": "jr_22208b1f44eb5376a60569d4b21dd20fcb8621e1a366b4e7b2494af764b82ded" }
Pour plus d’informations, consultez Création de tâches dans le Guide du développeur AWS Glue.
-
Pour plus de détails sur l'API, reportez-vous StartJobRun
à la section Référence des AWS CLI commandes.
-