pyspark - 列名在 aws 胶水中返回小写
问题描述
我是 AWS Glue 的新手,并且通过爬虫创建了作业,该爬虫指向 S3 存储桶中的源目标 CSV 文件。
CSV 文件包含以下列:
userId jobTitleName firstName lastName preferredFullName employeeCode region
现在在作业执行期间,它会抛出以下错误
Key error: userid' not exist
。根据通知,该问题看起来是区分大小写的问题。所以根据胶水文档,我为模式创建了映射
mappingsSchema=[('userid', 'integer', 'userId', 'integer'),
('jobtitlename', 'string', 'jobTitleName', 'string'),
('firstname', 'string', 'firstName', 'string'),
('lastname', 'string', 'lastName', 'string'),
('preferredfullName', 'string', 'preferredFullname', 'string'),
('employeecode', 'string', 'employeeCode', 'string'),
('region', 'string','region', 'string')]
mapped_dynamic_frame_read=dynamic_frame_read.apply_mapping(mappings = mappingsSchema, case_sensitive = True, transformation_ctx = "tfx")
##And converting to the spark df
df = mapped_dynamic_frame_read.toDF()
我仍然收到同样提到的错误。如何解决此类问题?
解决方案
嗨@Emerson问题出在映射中,其中列名被错误地指定为模式定义。现在它已经修复并且工作正常..谢谢
推荐阅读
- stream - 有没有人创建一个程序来手动清除雪花中的流?
- google-cloud-platform - 如何使用 Dataflow 更新 IoT 设备配置(在 Cloud IoT Core 中)?
- python - 如何获取 subprocess.check_output() 函数返回的错误?
- asp.net-core - 如何在企业环境中进行认证和授权?
- java - 记录整个 HttpRequest 的最佳方法
- c - 分析混淆的 ELF 二进制文件
- winforms - Winforms 单选按钮在禁用组框时取消选中自身,但仅当另一个控件数据绑定到其选中属性时
- c# - 将两个二维数组组合成一个新二维数组的简单方法
- libgdx - 如何正确使用 LIBGDX FrameBuffer
- function - 谷歌表格脚本为整个列添加百分比