python-3.x - 无法将文件从 AWS Glue dynamic_frame 解析为 Pyspark 数据框

标签 python-3.x pyspark aws-glue

我是 AWs glue 的新手。

我在将胶水数据框转换为 pyspark 数据框时遇到问题:

下面是我为读取csv文件创建的爬虫配置 glue_cityMapDB="csvDb" glue_cityMapTbl="csv 表"

datasource2 = glue_context.create_dynamic_frame.from_catalog(database = glue_cityMapDB, table_name = glue_cityMapTbl, transformation_ctx = "datasource2")

datasource2.show()

print("Show the data source2 city DF")
cityDF=datasource2.toDF()
cityDF.show()

输出:

在这里,我从胶水 dydf 获取输出 - #datasource2.show() 但是在转换为 pyspark DF 之后,我得到以下错误

S3NativeFileSystem (S3NativeFileSystem.java:open(1208)) - Opening 's3://s3source/read/names.csv' for reading 2020-04-24 05:08:39,789 ERROR [Executor task launch worker for task

感谢是否有人可以提供帮助?

最佳答案

使用UTF-8编码的文件。您可以使用文件检查或使用 inconv 或任何其他文本编辑器(如 sublime)进行转换。

您还可以使用以下方法将文件作为数据框读取:

df = spark.read.csv('s3://s3source/read/names.csv')

然后使用 fromDF() 转换为动态帧

关于python-3.x - 无法将文件从 AWS Glue dynamic_frame 解析为 Pyspark 数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61401701/

相关文章:

Python if/elif 问题与 random.randint

pyspark - 为什么需要临时 GCS 存储桶将数据帧写入 BigQuery : pyspark

amazon-web-services - 如何通过 S3 事件或 AWS Lambda 触发 Glue ETL Pyspark 作业?

apache-zeppelin - [AWS Glue] : org. apache.thrift.TApplicationException:内部错误处理 createInterpreter

apache-spark - __HIVE_DEFAULT_PARTITION__ 作为胶水 ETL 作业中的分区值

python - 如何在 Python 3.x 中舍入 0?

python - 这个 "studentrecord"是什么?

python - 如何在 Python Tkinter 中为 Frame 放置边框

mysql - Spark工作人员同时更新Mysql表的同一行

python - Pyspark-Mongo 缺少一些字段