问题标签 [aws-glue-spark]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Pyspark - dataframe..write - AttributeError:'NoneType'对象没有属性'mode'
我正在尝试使用 pyspark 将 csv 文件转换为镶木地板。
我正在尝试覆盖镶木地板文件,但出现以下错误。能否请你帮忙。
发生错误 - 'NoneType' 对象没有属性 'mode'
回溯(最后一次调用):文件“/tmp/ma-test-csv-to-parquet-glue-job-2”,第 173 行,结果 = write_to_parquet(nn_df1) 文件“/tmp/ma-test-csv -to-parquet-glue-job-2",第 147 行,在 write_to_parquet parquet_df.write.format("parquet").option("compression", "gzip").save(parquet_file).mode(SaveMode.Overwrite) AttributeError:“NoneType”对象没有属性“模式”
amazon-web-services - 为大数据运行 AWS Glue ETL 作业 (Spark)
目前,我在 Scala 中有一个 GLUE ETL 脚本。
以下是我的 GLUE 脚本设置:
- Spark 2.4、Scala 2(胶水版本 2.0)
- Worker 类型:G1.X(推荐用于内存密集型工作)
- 工人人数:10
我正在读取数据库中的 60 GB 数据,我正在像这样在数据框中读取这些数据
但是,这运行了 6 个小时,并失败并出现以下错误
我需要增加工人数量吗?计算在 AWS Glue 中读取大数据的理想设置的最佳方法是什么?
python - AWS Glue 连接到 RDS Mysql v8
我正在将我的 AWS Glue 连接到外部账户中的 RDS 实例。这些是我的代码,我已经完成了 VPC 对等,打开了所有 TCP 端口和公共可访问性。(我在外部帐户的同一 VPC 中的 MySQL v5 上运行了另一个 rds,并且胶水连接运行顺利)。
此外,我了解 AWS 胶水不支持 Mysql 8 的驱动程序版本,但是,我已将 MySQL v8 jar 文件(在本例中具体为 8.0.11)上传到我的 s3 并授予 IAM 角色 s3 完全访问权限。
不过,我收到了这个错误,我需要帮助
pyspark - 将缺少的列添加到 AWS Glue DataFrame
我正在使用 Glue 读取 DynamoDB 表,由于动态模式,可能会发生某些列不存在的情况。使用以下代码添加它们可以正常工作,但如果我需要添加多个列,我不确定如何使函数动态化。
有什么建议么?
以下代码因以下错误而失败
无法执行第 6 行:case_df_final = Map.apply(frame=case_df_final, f=AddColumn(case_df_final ,'accessoryTaxIncluded')) Traceback(最近一次调用最后):文件“/tmp/zeppelin_pyspark-4928209310219195923.py”,第 375 行,在 exec(code, _zcUserQueryNameSpace) File "", line 6, in File "", line 3, in AddColumn TypeError: 'DynamicFrame' object does not support item assignment
parquet - AWS Glue ETL Spark- 字符串到时间戳
我正在尝试通过 AWS Glue ETL 作业将我的 CSV 转换为 Parquet。同时,我愿意将我的 datetime 列(字符串)转换为 Athena 可以识别的时间戳格式。(雅典娜识别出这个 yyyy-MM-dd HH:mm:ss)
我浏览并应用了许多建议,但未能成功。
您能否让我知道我应该导入哪个库,并为特定行应用脚本?以下代码是 AWS Glue 建议从 CSV 转换为 Parquet 的代码,并且似乎也可以针对我的日期时间转换目的进行自定义。
提前致谢。
aws-glue-spark - 如何在 aws 胶水动态框架上创建过滤器以过滤掉一组(文字)值
在胶水脚本中(在飞艇笔记本中运行,转发到胶水中的开发端点),我从胶水表创建了一个动态框架,我想过滤不在静态值列表中的字段“名称”,即(“a”、“b”、“c”)。
过滤不等式就可以了,如下所示:
我尝试了几件事,例如
但它给出了错误(值 isin 不是 Any 的成员),我只能找到 pyspark 示例和首先将动态帧转换为网络上的数据帧的示例(如果可能,我想阻止)。
非常感谢帮助,谢谢。
python - AWS Glue Spark 作业错误:“ModuleNotFoundError:您需要使用 sqlserver 分别安装 pyodbc AWS Data Wrangler 包”
我正在使用 AWS Glue Spark 和 python 作业将数据从 s3 同步到本地 Sql Server,并使用 AWS Wrangler 和附加的 pyodbc 轮文件。当我运行我的工作时,我收到此错误“ModuleNotFoundError:您需要分别安装 pyodbc AWS Data Wrangler 包以及sqlserver
使用 sqlserver 模块的额外内容”。
需要有关如何分别使用 AWS Data Wrangler 软件包安装 pyodbc 的帮助。
我尝试导入 pyodbc 的另一种方法是从 importlib.util.find_spec("pyodbc") 但也得到相同的错误。
amazon-web-services - 缺少 AWS Glue 版本 2.0 ETL 作业的执行程序 CloudWatch 日志
我正在glueetl
使用具有以下日志配置的 Python 运行(Glue 版本 2.0)作业。我启用了连续记录。
我INFO
从日志组中存在的驱动程序获取条目,但是在日志组中和/aws-glue/jobs/output
日志组中都没有INFO
执行程序的条目。/aws-glue/jobs/output
/aws-glue/jobs/logs-v2
我进行了实验,将日志级别设置为WARN
和日志记录WARN
语句使WARN
条目存在,但在/aws-glue/jobs/error
日志组中。
aws-glue - 在 aws 胶水 scala 中重命名文件
我正在使用胶水 scala 代码将文件写入 S3。但它将csv文件保存为run-part-000 ..我希望它保存或重命名为something.csv。怎么做到呢?下面的代码片段 -
amazon-web-services - AWS Glue ETL - 将 Epoch 转换为时间戳
正如标题所述,我无法将动态框架上的列从 Epoch 转换为时间戳。
我已尝试转换为数据框并返回动态框,但它不起作用。
这就是我正在使用的:
我尝试的是创建一个 Data Frametsconvert = resolvechoice3.toDF()
并将其转回 Dynamic Frame resolvechoice4 = DynamicFrame.fromDF(tsconvert, GlueContext, resolvechoice4)
;我在最后粘贴到resolvechoice4
.
找不到 Glue 中是否有任何东西可以转换为时间戳。当我确保数据正确写入 S3 时,Redshift 将成为我的目标。
有没有人做过这样的事情并且可以引导我?
提前致谢。