我是 pyspark 和 awsglue 的新手。我根据我看到的示例编写了小脚本,将 csv 文件读取为动态 pyspark 框架。我想知道,如何读取多个 csv 文件或特定 s3 路径中的所有 csv 文件,并将它们组合起来进行一些处理,然后将它们写回(可能到不同的 csv 文件)。
我知道 pyspark 旨在处理大量数据,但是 pyspark 动态框架可以处理的 csv 数据行数或数据量是否有限制?
我正在尝试读取多个输入文件,将它们组合起来对数据进行一些处理,然后将它们写回不同的输出文件。
from awsglue.transforms import *
from pyspark.context import SparkContext
from awsglue.context import GlueContext
from awsglue.job import job
sparkC = SparkContext.getOrCreate()
glueC = GlueContext(sparkC)
spark_session = glueC.spark_session
glue_job = Job(glueC)
t = glueC.create_dynamic_frame_from_options(connection_type="s3", connection_options={"paths":["s3://somebucket/inputfolder/"]}, format="csv")
...
您是否尝试在配置中添加 recurse 参数,如下所示:
t = glueC.create_dynamic_frame_from_options(
connection_type="s3",
connection_options={
"paths":["s3://somebucket/inputfolder/"]
"recurse" : True
},
format="csv")