如何在 Scala 的 Glue Job 中从 S3 文件创建动态数据框?

How to create dynamic data frame from S3 files in Glue Job in Scala?

我在将 Python Glue 作业转换为 Scala Glue 作业时遇到问题,即 create_dynamic_data_frame_options 方法。在 python 中,语法是:

dyf = glueContext.create_dynamic_frame_from_options("s3",
                                        {'paths': file_paths},
                                         format="csv",
                                       format_options={"separator": ",", "quoteChar": '"'})

其中 file_paths 是一个列表 ['s3://bucket1/file1.txt','s3://bucket2/file2.txt'] 。如何在 Scala 中做同样的事情?

试试这个:

val file_paths = Array(
    "s3://bucket/data1",
    "s3://bucket/data2"
)

val dyf = glueContext.getSourceWithFormat(
    connectionType = "s3", 
    options = JsonOptions(Map("paths" -> file_paths)), 
    format = "csv", 
    formatOptions = JsonOptions(Map("separator" -> ",", "quoteChar": "\""))
).getDynamicFrame()