问题标签 [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 回答
514 浏览

amazon-web-services - AWS Glue 开发终端节点无法正常工作

我正在尝试使用开发端点以交互方式运行和编辑 ETL 脚本,但是在创建它之后开发端点中似乎存在一些问题,因为我在 scala/python REPL 中遇到错误并且也无法对远程解释器进行 SSH 隧道。让我解释一下我到底做了什么——我在 AWS 控制台中使用所有默认配置创建了一个开发终端节点。在创建开发端点时,我只提供了三件事“开发端点名称”和“IAM 角色”以及我的“pub ssh 密钥”。这是创建后的样子

在此处输入图像描述

然后在创建端点后,我连接到 spark/python REPL,我能够成功连接到它们,但在连接后几分钟内,REPL 开始抛出错误,而无需编写任何代码。这发生在开发端点中存在的所有 REPL 中。

在此处输入图像描述

此外,当我尝试对远程解释器进行 SSH 隧道连接以连接我的本地 Zeppelin 笔记本时,它会抛出 - “绑定:无法分配请求的地址”。

有几件事情虽然有效 -

  • 能够对端点执行 ssh。
  • 在连接到这个开发端点的 AWS 胶水中创建了一个 Sagemaker 笔记本,这个笔记本似乎工作正常,尽管它肯定会增加额外的成本,我不想继续使用它。

谁能帮助我做错了什么?在创建开发端点后,我是否遗漏了需要在机器上完成的任何重要步骤?

提前致谢!

0 投票
3 回答
145 浏览

scala - 基于 OR 条件在 spark scala 中加入两个数据帧

我有两个数据框 1)帐户和 2)客户。账户架构如下:

第二表客户为:

我需要加入这两个数据框,这样Id匹配Id OR Phone就是Telephone OR Mob Or Email匹配email。在上述情况下,客户的第一行匹配 ID,第二行匹配电话,第三行匹配电子邮件。联接应保留在帐户的所有记录中。

0 投票
0 回答
521 浏览

aws-glue - aws 胶水书签在一项作业中运行多个文件夹不起作用

我有这样的工作代码:

作业成功后,某些 sub_paths 中缺少记录。

当我尝试再次运行该作业时,它显示 no new file detected.

因此,我尝试使用特定的 sub_path 运行代码,但for sub_path in paths奇怪的是,当为 sub_path #2 运行作业时会出现问题:

它说no new file detectedsub_path '02',

即使该作业仅针对第一个 sub_path '01' 运行,并且只有来自第一个 sub_path 的数据被摄取到 S3 avro。

我无法弄清楚我设置此书签的方式有什么问题,因此非常感谢您的见解!提前致谢。

0 投票
2 回答
1775 浏览

apache-spark - Spark 性能问题 - 将分区作为单个文件写入 S3

我正在运行一个 spark 作业,其工作是扫描一个大文件并将其拆分为较小的文件。该文件采用 Json Lines 格式,我正在尝试按某个列(id)对其进行分区,并将每个分区作为单独的文件保存到 S3。文件大小约为 12 GB,但id大约有 500000 个不同的值。查询大约需要 15 个小时。我可以做些什么来提高性能?对于这样的任务,Spark 是不是一个糟糕的选择?请注意,我确实有权确保源为每个id的固定行数。

我也尝试过重新分区而不是合并。

我正在使用 AWS Glue

0 投票
1 回答
285 浏览

amazon-web-services - 如何根据 AWS Glue 作业中数据帧的不同值写入多个 S3 存储桶?

我有一个带有account_id列的数据框。我想将所有不同的account_id行分组并写入不同的 S3 存储桶。account_id为给定 S3 存储桶中的每个文件写入一个新文件夹也可以。

0 投票
1 回答
1246 浏览

amazon-cloudwatch - AWS Glue 失败时出现“日志组不存在”

我第一次使用 AWS Glue 的作业,所以我的作业不起作用是正常的,但我看不到任何关于错误的详细日志,因为当我单击“错误日志”链接或“日志”链接我总是在 AWS CloudWatch 中收到此消息:

如何查看 AWS Glue 日志?AWS Glue 不会自动创建日志组吗?

0 投票
0 回答
128 浏览

pyspark - 在本地运行 aws 胶水作业

我正在尝试在本地运行胶水作业,但我遇到了一个问题,当我运行我的脚本时会引发异常:

我从这里下载了 aws-glue-libs:https ://github.com/awslabs/aws-glue-libs/tree/glue-1.0/awsglue 。

我的代码:

如果有人可以提供帮助会很棒。

0 投票
1 回答
834 浏览

python - AWS Glue Python shell 配置 DPU

当我使用胶水 python shell 而不是胶水火花时,1 dpu 设置会改变吗?我最近在 AWS Glue 中看到了一篇文章 Maximum number of concurrent tasks in 1 DPU,我看到他们在谈论胶水火花,但不是来自 awsglue python shell,这就是我有这个疑问的原因。

0 投票
1 回答
2060 浏览

pyspark - AWS Glue - 展平深度嵌套的 JSON

我想知道是否有一种方法可以使用 Glue ETL 作业来展平深度嵌套的 JSON?这里面有嵌套的数组。我试图在 JSON 上运行一个 Glue 爬虫,它返回一个目录,其中只有 1 个字段 PerPlayer 和一个结构数据类型。在胶水 ETL 作业中,我应该使用目录还是只是将 JSON 读入动态框架并执行一些转换以将其展平?如果只有 1 条记录(没有数组),我可以使用关系化进行展平,但是我的输入在数组结构中有几条记录,并且其中一些记录中有一些嵌套数组。

我对 Glue ETL 完全陌生,因此非常感谢任何建议或建议。

0 投票
1 回答
133 浏览

python-3.x - PySpark 使用另一列中存在的值查询一个列名

输入_pyspark_dataframe:

output_pyspark_dataframe

我们可以通过使用集合列中的值找到每个 id 的正确价格

问题

使用 pyspark,我如何通过动态框架列名找到每个 id 的正确价格student.{collection}.price

请告诉我。