Ada lebih banyak contoh AWS SDK yang tersedia di repo Contoh SDK AWS Doc
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
AWS Glue contoh menggunakan AWS CLI
Contoh kode berikut menunjukkan cara melakukan tindakan dan mengimplementasikan skenario umum dengan menggunakan AWS Command Line Interface with AWS Glue.
Tindakan merupakan kutipan kode dari program yang lebih besar dan harus dijalankan dalam konteks. Sementara tindakan menunjukkan cara memanggil fungsi layanan individual, Anda dapat melihat tindakan dalam konteks dalam skenario terkait.
Setiap contoh menyertakan tautan ke kode sumber lengkap, di mana Anda dapat menemukan instruksi tentang cara mengatur dan menjalankan kode dalam konteks.
Topik
Tindakan
Contoh kode berikut menunjukkan cara menggunakanbatch-stop-job-run.
- AWS CLI
 - 
             
                    
Untuk menghentikan pekerjaan berjalan
batch-stop-job-runContoh berikut menghentikan pekerjaan berjalan.aws glue batch-stop-job-run \ --job-name"my-testing-job"\ --job-run-idjr_852f1de1f29fb62e0ba4166c33970803935d87f14f96cfdee5089d5274a61d3fOutput:
{ "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 } }Untuk informasi selengkapnya, lihat Job Runs di Panduan Pengembang AWS Glue.
- 
                    
Untuk detail API, lihat BatchStopJobRun
di Referensi AWS CLI Perintah.  
 - 
                    
 
Contoh kode berikut menunjukkan cara menggunakancreate-connection.
- AWS CLI
 - 
             
                    
Untuk membuat koneksi untuk penyimpanan data AWS Glue
create-connectionContoh berikut membuat koneksi di Katalog Data AWS Glue yang menyediakan informasi koneksi untuk penyimpanan data 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.rproxy.govskope.caPerintah ini tidak menghasilkan output.
Untuk informasi selengkapnya, lihat Mendefinisikan Koneksi di Katalog Data AWS Glue di Panduan Pengembang AWS Glue.
- 
                    
Untuk detail API, lihat CreateConnection
di Referensi AWS CLI Perintah.  
 - 
                    
 
Contoh kode berikut menunjukkan cara menggunakancreate-database.
- AWS CLI
 - 
             
                    
Untuk membuat database
create-databaseContoh berikut membuat database di AWS Glue Data Catalog.aws glue create-database \ --database-input "{\"Name\":\"tempdb\"}" \ --profilemy_profile\ --endpointhttps://glue---us-east-1.amazonaws.com.rproxy.govskope.caPerintah ini tidak menghasilkan output.
Untuk informasi selengkapnya, lihat Mendefinisikan Database di Katalog Data Anda di Panduan Pengembang AWS Glue.
- 
                    
Untuk detail API, lihat CreateDatabase
di Referensi AWS CLI Perintah.  
 - 
                    
 
Contoh kode berikut menunjukkan cara menggunakancreate-job.
- AWS CLI
 - 
             
                    
Untuk membuat pekerjaan untuk mengubah data
create-jobContoh berikut membuat pekerjaan streaming yang menjalankan skrip yang disimpan di S3.aws glue create-job \ --namemy-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.rproxy.govskope.caIsi dari
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() } }Output:
{ "Name": "my-testing-job" }Untuk informasi selengkapnya, lihat Menulis Pekerjaan di AWS Glue di Panduan Pengembang AWS Glue.
- 
                    
Untuk detail API, lihat CreateJob
di Referensi AWS CLI Perintah.  
 - 
                    
 
Contoh kode berikut menunjukkan cara menggunakancreate-table.
- AWS CLI
 - 
             
                    
Contoh 1: Untuk membuat tabel untuk aliran data Kinesis
create-tableContoh berikut membuat tabel dalam AWS Glue Data Catalog yang menjelaskan aliran data Kinesis.aws glue create-table \ --database-nametempdb\ --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.rproxy.govskope.caPerintah ini tidak menghasilkan output.
Untuk informasi selengkapnya, lihat Mendefinisikan Tabel di Katalog Data AWS Glue di Panduan Pengembang AWS Glue.
Contoh 2: Untuk membuat tabel untuk penyimpanan data Kafka
create-tableContoh berikut membuat tabel di AWS Glue Data Catalog yang menjelaskan penyimpanan data Kafka.aws glue create-table \ --database-nametempdb\ --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.rproxy.govskope.caPerintah ini tidak menghasilkan output.
Untuk informasi selengkapnya, lihat Mendefinisikan Tabel di Katalog Data AWS Glue di Panduan Pengembang AWS Glue.
Contoh 3: Untuk membuat tabel untuk penyimpanan data AWS S3
create-tableContoh berikut membuat tabel di AWS Glue Data Catalog yang menjelaskan penyimpanan data AWS Simple Storage Service (AWS S3).aws glue create-table \ --database-nametempdb\ --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.rproxy.govskope.caPerintah ini tidak menghasilkan output.
Untuk informasi selengkapnya, lihat Mendefinisikan Tabel di Katalog Data AWS Glue di Panduan Pengembang AWS Glue.
- 
                    
Untuk detail API, lihat CreateTable
di Referensi AWS CLI Perintah.  
 - 
                    
 
Contoh kode berikut menunjukkan cara menggunakandelete-job.
- AWS CLI
 - 
             
                    
Untuk menghapus pekerjaan
delete-jobContoh berikut menghapus pekerjaan yang tidak lagi diperlukan.aws glue delete-job \ --job-namemy-testing-jobOutput:
{ "JobName": "my-testing-job" }Untuk informasi selengkapnya, lihat Bekerja dengan Pekerjaan di AWS Glue Console di Panduan Pengembang AWS Glue.
- 
                    
Untuk detail API, lihat DeleteJob
di Referensi AWS CLI Perintah.  
 - 
                    
 
Contoh kode berikut menunjukkan cara menggunakanget-databases.
- AWS CLI
 - 
             
                    
Untuk membuat daftar definisi dari beberapa atau semua database dalam Katalog Data AWS Glue
get-databasesContoh berikut mengembalikan informasi tentang database dalam Katalog Data.aws glue get-databasesOutput:
{ "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" } ] }Untuk informasi selengkapnya, lihat Mendefinisikan Database di Katalog Data Anda di Panduan Pengembang AWS Glue.
- 
                    
Untuk detail API, lihat GetDatabases
di Referensi AWS CLI Perintah.  
 - 
                    
 
Contoh kode berikut menunjukkan cara menggunakanget-job-run.
- AWS CLI
 - 
             
                    
Untuk mendapatkan informasi tentang menjalankan pekerjaan
get-job-runContoh berikut mengambil informasi tentang menjalankan pekerjaan.aws glue get-job-run \ --job-name"Combine legistators data"\ --run-idjr_012e176506505074d94d761755e5c62538ee1aad6f17d39f527e9140cf0c9a5eOutput:
{ "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" } }Untuk informasi selengkapnya, lihat Job Runs di Panduan Pengembang AWS Glue.
- 
                    
Untuk detail API, lihat GetJobRun
di Referensi AWS CLI Perintah.  
 - 
                    
 
Contoh kode berikut menunjukkan cara menggunakanget-job-runs.
- AWS CLI
 - 
             
                    
Untuk mendapatkan informasi tentang semua pekerjaan yang dijalankan untuk suatu pekerjaan
get-job-runsContoh berikut mengambil informasi tentang pekerjaan berjalan untuk suatu pekerjaan.aws glue get-job-runs \ --job-name"my-testing-job"Output:
{ "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" } ] }Untuk informasi selengkapnya, lihat Job Runs di Panduan Pengembang AWS Glue.
- 
                    
Untuk detail API, lihat GetJobRuns
di Referensi AWS CLI Perintah.  
 - 
                    
 
Contoh kode berikut menunjukkan cara menggunakanget-job.
- AWS CLI
 - 
             
                    
Untuk mengambil informasi tentang pekerjaan
get-jobContoh berikut mengambil informasi tentang pekerjaan.aws glue get-job \ --job-namemy-testing-jobOutput:
{ "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" } }Untuk informasi selengkapnya, lihat Pekerjaan di Panduan Pengembang AWS Glue.
- 
                    
Untuk detail API, lihat GetJob
di Referensi AWS CLI Perintah.  
 - 
                    
 
Contoh kode berikut menunjukkan cara menggunakanget-plan.
- AWS CLI
 - 
             
                    
Untuk mendapatkan kode yang dihasilkan untuk memetakan data dari tabel sumber ke tabel target
Berikut ini
get-planmengambil kode yang dihasilkan untuk memetakan kolom dari sumber data ke target data.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.rproxy.govskope.ca--output"text"Output:
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() } }Untuk informasi selengkapnya, lihat Mengedit Skrip di AWS Glue di Panduan Pengembang AWS Glue.
- 
                    
Untuk detail API, lihat GetPlan
di Referensi AWS CLI Perintah.  
 - 
                    
 
Contoh kode berikut menunjukkan cara menggunakanget-tables.
- AWS CLI
 - 
             
                    
Untuk daftar definisi dari beberapa atau semua tabel dalam database yang ditentukan
get-tablesContoh berikut mengembalikan informasi tentang tabel dalam database tertentu.aws glue get-tables --database-name 'tempdb'Output:
{ "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" } ] }Untuk informasi selengkapnya, lihat Mendefinisikan Tabel di Katalog Data AWS Glue di Panduan Pengembang AWS Glue.
- 
                    
Untuk detail API, lihat GetTables
di Referensi AWS CLI Perintah.  
 - 
                    
 
Contoh kode berikut menunjukkan cara menggunakanstart-crawler.
- AWS CLI
 - 
             
                    
Untuk memulai crawler
start-crawlerContoh berikut memulai crawler.aws glue start-crawler --namemy-crawlerOutput:
NoneUntuk informasi selengkapnya, lihat Mendefinisikan Crawler di Panduan Pengembang AWS Glue.
- 
                    
Untuk detail API, lihat StartCrawler
di Referensi AWS CLI Perintah.  
 - 
                    
 
Contoh kode berikut menunjukkan cara menggunakanstart-job-run.
- AWS CLI
 - 
             
                    
Untuk mulai menjalankan pekerjaan
start-job-runContoh berikut memulai pekerjaan.aws glue start-job-run \ --job-namemy-jobOutput:
{ "JobRunId": "jr_22208b1f44eb5376a60569d4b21dd20fcb8621e1a366b4e7b2494af764b82ded" }Untuk informasi selengkapnya, lihat Menulis Pekerjaan di Panduan Pengembang AWS Glue.
- 
                    
Untuk detail API, lihat StartJobRun
di Referensi AWS CLI Perintah.  
 -