使用Python(Pyspark)从S3服务器(ECS)读写

使用Python(Pyspark)从S3服务器(ECS)读写,python,apache-spark,amazon-s3,pyspark,amazon-ecs,Python,Apache Spark,Amazon S3,Pyspark,Amazon Ecs,我需要从S3服务器(ECS)读取一个固定宽度的文件,然后将其转换为CSV写回S3服务器 我正在尝试从此链接使用smart_open library,但我的代码给出了错误信息 File "create_csv_ecs.py", line 11, in <module> from smart_open import open ImportError: No module named smart_open 我的SPARK服务器版本是2.3.0 示例文件如下所示 HGLOABCD8PSGL

我需要从S3服务器(ECS)读取一个固定宽度的文件,然后将其转换为CSV写回S3服务器

我正在尝试从此链接使用smart_open library,但我的代码给出了错误信息

File "create_csv_ecs.py", line 11, in <module>
from smart_open import open
ImportError: No module named smart_open
我的SPARK服务器版本是2.3.0

示例文件如下所示

HGLOABCD8PSGL_ZXFH J20190603NXT_APAC
D30056747PRD0091921170811405ACTUAL    ACTUAL    6222020190110001508014
D30056747PRD0091921170811405ACTUAL    ACTUAL    6222020190110001508014

你的文件有多少行?。我认为你应该使用这两种方式。你实际上没有在
pyspark
中进行任何操作。是否有特殊原因不直接加载数据,例如
df=sc.read.format('com.databricks.spark.csv')。选项('delimiter',',')。加载('s3://mybucket/my/directory/file.csv'))
?@Giovani-可能是10-14 GB的文件,所以有很多rows@napolean-我的要求有两部分:一是创建如上所述的CSV,另一部分是使用pyspark对生成的CSV进行聚合。但是,如果你能详细说明你的评论,比如我如何使用上面的加载方法转换CSV,那么有多少行有你的文件将是有帮助的。我认为你应该使用这两种方法。你实际上没有在
pyspark
中做任何操作。是否有特殊原因不直接加载数据,例如
df=sc.read.format('com.databricks.spark.csv')。选项('delimiter',',')。加载('s3://mybucket/my/directory/file.csv'))
?@Giovani-可能是10-14 GB的文件,所以有很多rows@napolean-我的要求有两部分:一是创建如上所述的CSV,另一部分是使用pyspark对生成的CSV进行聚合。但是如果你能详细阐述你的评论,比如我如何使用上面的加载方法来转换CSV,那么它将非常有用
HGLOABCD8PSGL_ZXFH J20190603NXT_APAC
D30056747PRD0091921170811405ACTUAL    ACTUAL    6222020190110001508014
D30056747PRD0091921170811405ACTUAL    ACTUAL    6222020190110001508014