Что ж, после продолжения борьбы с этим я прошел официальный класс кода для DynamicFrame Итак, я добавил в свой код преобразование формата применения, чтобы отобразить результат, полученный из таблицы чтения, в красное смещение и метод, который вытаскивает таблицу. Я пропускаю параметр transformation_ctx
, который был ошибочным при ошибке o60
Мой окончательный код версии:
import sys
from awsglue.transforms import *
from awsglue.utils import getResolvedOptions
from pyspark.context import SparkContext
from awsglue.context import GlueContext
from awsglue.dynamicframe import DynamicFrame, DynamicFrameReader, DynamicFrameWriter, DynamicFrameCollection
from pyspark.sql.functions import lit
from awsglue.job import Job
sc = SparkContext()
glueContext = GlueContext(sc)
spark = glueContext.spark_session
job = Job(glueContext)
table = glueContext.create_dynamic_frame.from_options(connection_type="redshift", connection_options =
{"url": "jdbc:redshift://xxxxx.yyyyy.us-east-1.redshift.amazonaws.com:5439/db",
"user": "yyyy",
"password": "yyyyy",
"dbtable": "schema.table_name",
"redshiftTmpDir": "s3://aws-glue-temporary-accountnumber-us-east-1/"}
)
applyformat = ApplyMapping.apply(frame =table, mappings =
[("field1","string","field1","string"),
("field2","string","field2","string") ], transformation_ctx = "applyformat")
dfred = table.toDF().createOrReplaceTempView("table_df")
sqlDF = spark.sql(
"SELECT COUNT(*) FROM table_df"
)
print sqlDF.show()
job.commit()