问题标签 [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.

0 投票
1 回答
275 浏览

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”对象没有属性“模式”

0 投票
0 回答
512 浏览

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 中读取大数据的理想设置的最佳方法是什么?

0 投票
0 回答
346 浏览

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 完全访问权限。

不过,我收到了这个错误,我需要帮助

0 投票
1 回答
632 浏览

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

0 投票
2 回答
908 浏览

parquet - AWS Glue ETL Spark- 字符串到时间戳

我正在尝试通过 AWS Glue ETL 作业将我的 CSV 转换为 Parquet。同时,我愿意将我的 datetime 列(字符串)转换为 Athena 可以识别的时间戳格式。(雅典娜识别出这个 yyyy-MM-dd HH:mm:ss)

我浏览并应用了许多建议,但未能成功。

您能否让我知道我应该导入哪个库,并为特定行应用脚本?以下代码是 AWS Glue 建议从 CSV 转换为 Parquet 的代码,并且似乎也可以针对我的日期时间转换目的进行自定义。

提前致谢。

0 投票
1 回答
141 浏览

aws-glue-spark - 如何在 aws 胶水动态框架上创建过滤器以过滤掉一组(文字)值

在胶水脚本中(在飞艇笔记本中运行,转发到胶水中的开发端点),我从胶水表创建了一个动态框架,我想过滤不在静态值列表中的字段“名称”,即(“a”、“b”、“c”)。

过滤不等式就可以了,如下所示:

我尝试了几件事,例如

但它给出了错误(值 isin 不是 Any 的成员),我只能找到 pyspark 示例和首先将动态帧转换为网络上的数据帧的示例(如果可能,我想阻止)。

非常感谢帮助,谢谢。

0 投票
1 回答
450 浏览

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") 但也得到相同的错误。

0 投票
0 回答
207 浏览

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日志组中。

0 投票
0 回答
40 浏览

aws-glue - 在 aws 胶水 scala 中重命名文件

我正在使用胶水 scala 代码将文件写入 S3。但它将csv文件保存为run-part-000 ..我希望它保存或重命名为something.csv。怎么做到呢?下面的代码片段 -

0 投票
1 回答
565 浏览

amazon-web-services - AWS Glue ETL - 将 Epoch 转换为时间戳

正如标题所述,我无法将动态框架上的列从 Epoch 转换为时间戳。

我已尝试转换为数据框并返回动态框,但它不起作用。

这就是我正在使用的:

我尝试的是创建一个 Data Frametsconvert = resolvechoice3.toDF()并将其转回 Dynamic Frame resolvechoice4 = DynamicFrame.fromDF(tsconvert, GlueContext, resolvechoice4);我在最后粘贴到resolvechoice4.

找不到 Glue 中是否有任何东西可以转换为时间戳。当我确保数据正确写入 S3 时,Redshift 将成为我的目标。

有没有人做过这样的事情并且可以引导我?

提前致谢。