AWS Glue:如何在输出中添加包含源文件名的列?

2024-01-03

有谁知道如何将源文件名添加为粘合作业中的列?

我们创建了一个流程,在其中抓取 S3 中的一些文件以创建架构。然后,我们编写了一个作业,将文件转换为新格式,并将这些文件以 CSV 形式写回另一个 S3 存储桶,以供管道的其余部分使用。我们想要做的是访问某种作业元属性,以便我们可以向包含原始文件名的输出文件添加一个新列。

我查看了 AWS 文档和 aws-glue-libs 源代码,但没有看到任何内容。理想情况下,应该有某种方法可以从awsglue.job包(我们使用的是 python 风格)。

我仍在学习胶水,所以如果我使用了错误的术语,请道歉。我也用 Spark 标签标记了它,因为我相信这就是 Glue 在幕后使用的东西。


通过 AWS Glue Python 自动生成的脚本,我添加了以下行:

from pyspark.sql.functions import input_file_name

## Add the input file name column
datasource1 = datasource0.toDF().withColumn("input_file_name", input_file_name())

## Convert DataFrame back to DynamicFrame
datasource2 = datasource0.fromDF(datasource1, glueContext, "datasource2")

然后,在ApplyMapping or datasink部分代码,您参考datasource2.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AWS Glue:如何在输出中添加包含源文件名的列? 的相关文章

  • 在 AWS elastic beanstalk 上安装 HTTPS SSL 的过程?

    我已成功安装自我认证的 SSL 以使 https 在 AWS linux EC2 上运行 然后 我在自动缩放和负载平衡环境中的弹性豆茎上尝试它 但我失败了 我所做的过程是首先启动一个新的弹性豆茎应用程序 我生成 SSL 证书的私钥和自认证公
  • 如何使用 Route53 从一个顶级域重定向到另一个顶级域

    如果我的术语在这里不太正确 请道歉 我的域 albunack net 在 Route53 上运行良好 我还在 Route 53 控制下拥有域 albunack com 我希望对 albunack com 的任何请求都重定向到 albunac
  • 通过Listener获取Spark thrift服务器查询中读取的行数

    我正在尝试为我们的 ST 服务器构建一个监控系统 到目前为止 诸如记录查询 检索的行 红色和花费的时间之类的事情都很好 我已经实现了一个自定义侦听器 我能够毫无问题地检索查询和时间 侦听SparkListenerSQLExecutionSt
  • 如何抑制 EMR 上运行的 Spark-sql 的 INFO 消息?

    我正在 EMR 上运行 Spark 如中所述在 Amazon Elastic MapReduce 上运行 Spark 和 Spark SQL https aws amazon com articles 4926593393724923 本教
  • 为什么 Apache Spark 会读取嵌套结构中不必要的 Parquet 列?

    我的团队正在构建一个 ETL 流程 以使用 Spark 将原始分隔文本文件加载到基于 Parquet 的 数据湖 中 Parquet 列存储的承诺之一是查询将仅读取必要的 列条带 但我们看到意外的列被读取以获取嵌套模式结构 为了进行演示 下
  • 如何将参数传递给用户定义函数?

    我有一个用户定义的函数 calc udf calculate FloatType param1 A result df withColumn col1 calc col type col pos groupBy pk sum events
  • 如何区分spark中的操作是转换还是动作?

    最近在学习spark 对transformation和action操作很困惑 我阅读了spark文档和一些关于spark的书籍 我知道action会导致spark作业在集群中执行 而transformation则不会 但是spark的api
  • 如何仅更改音频文件的 AWS S3 内容类型

    我在 AWS S3 存储桶上有超过 50000 个文件 音频 图像 pdf 现在我面临着 Firefox 的问题 由于其内容类型 音频文件无法在 Firefox 上播放 之前一直运转良好 当我更改内容类型时 音频文件效果很好二进制 八位字节
  • 仅使用 Spark ML Pipelines 进行转换

    我正在开发一个项目 其中可配置的管道和 Spark DataFrame 更改的沿袭跟踪都是必不可少的 该管道的端点通常只是修改后的 DataFrame 将其视为 ETL 任务 对我来说最有意义的是利用现有的 Spark ML Pipelin
  • 使用 Amazon KCL 对记录进行检查点会抛出 ProvisionedThroughputExceededException

    我们正在经历一个ProvisionedThroughputExceededException在对许多事件进行检查点时 异常堆栈跟踪如下 com amazonaws services kinesis model ProvisionedThro
  • DynamoDb:删除具有相同哈希键的所有项目

    考虑下表 Table documentId Hash Key userId Range Key 如何编写代码来删除所有具有相同内容的项目documentId并且最好不取回物品 目前 您不能仅通过传递 Hash 键来删除所有项目 要删除项目需
  • Vue 和 Axios + AWS API 网关和 Lambda - CORS + POST 不起作用

    我正在尝试通过 AWS API Gateway 创建一个 API 测试函数 以及一个通过 Axios 的 Vue 应用程序调用的 Lambda 函数 它应该从输入元素发送姓名和电子邮件 每次我收到此错误时 Access to XMLHttp
  • SQL 类似于 PySpark 数据帧的 NOT IN 子句

    例如 在 SQL 中 我们可以这样做select from table where col1 not in A B 我想知道是否有一个与此等效的 PySpark 我能够找到isin类似于 SQL 的函数IN条款 但没有任何内容NOT IN
  • Spark 写入 S3 V4 SignatureDoesNotMatch 错误

    我遇到S3SignatureDoesNotMatch尝试使用 Spark 将 Dataframe 写入 S3 时 症状 尝试过的事情 代码失败有时但有效有时 代码可以read从 S3 没有任何问题 并且能够不时写入 S3 这排除了错误的配置
  • Instagram 如何使用 Amazon S3?

    在将文件上传到 Amazon S3 时 我需要深入了解 Instagram 的工程 我刚刚开始使用 S3 我认为 Instagram 是一个值得效仿的好模式 因为他们每天上传数千张图片 我的应用程序有点相似 用户上传图片 可以删除自己的图片
  • 如何验证无效的 CIDR 块?

    我为我的 VPC 保留了以下 CIDR gt 10 0 0 0 22 这告诉我的是 我还有 10 位剩余用于我的主机 ip 或1 024地址 我试图计算range有效地址 因为 Amazon 在创建新的私有子网时要求提供有效的 IPv4 C
  • aws Lambda 在 S3 上传时使 CloudFront 失效

    我同时上传 10 50 个文件 Lambda 会为每个更新的文件触发一个事件 如果文件大小发生变化 因此 我不想一一失效 50x 而是想运行通配符 上传结束时出现一次字符 任何人都可以阐明如何实现这一目标 谢谢 如果我正确理解你的问题 你的
  • 弹性豆茎领导者选举问题

    我们有一个 Rails 应用程序 几个月来一直运行良好 今天我们发现了领导人选举的一些不一致之处 主要是 su leader only bundle exec rake db migrate webapp 经过几个小时的反复试验 以及数十次
  • S3 对象级别事件未触发

    我在 aws eventsbridge 中使用事件模式创建了一个事件规则 source aws s3 目标是 CloudWatch 日志组 现在 当我在存储桶级别更改某些内容时 例如存储桶权限 然后我看到云监视中捕获的事件 但是当我在 s3
  • 使用 Scala 在 Apache Spark 中拆分字符串

    我有一个数据集 其中包含以下格式的行 制表符分隔 Title lt t gt Text 现在对于每个单词Text 我想创建一个 Word Title 一对 例如 ABC Hello World gives me Hello ABC Worl

随机推荐

  • kubectl 端口转发是否加密?

    在运行 kubectl port forward 命令时 我找不到任何有关集群 pod 和 locahost 之间的连接创建被加密的信息 看起来它使用的是 socat https linux die net man 1 socat 支持加密
  • 是否有一种可以容忍微小差异的哈希算法?

    我正在做一些网络爬行类型的工作 在网页中查找某些术语并找到它们在页面上的位置 然后将其缓存以供以后使用 我希望能够定期检查页面是否有任何重大更改 像 md5 这样的东西可以通过简单地将当前日期和时间放在页面上来阻止 有没有适用于这样的事情的
  • pytest - Monkeypatch 关键字参数默认值

    我想测试函数的默认行为 我有以下内容 app foo py DEFAULT VALUE hello def bar text DEFAULT VALUE print text test test app py import app def
  • 字符串的 SHA1 是否总是返回 ASCII 字符?

    输入字符串可以是unicode字符串 计算SHA1后输出字符串是否总是返回ASCII字符 这要看情况 但严格来说 不是 SHA 1 哈希的输出为 160 位 即 20 个字节 但不保证这些字节位于 ASCII 范围内 但是 某些哈希函数会输
  • Facebook api in python 和源码掌握吧!

    我对 python 有足够的了解 我想使用 facebook python api 为此我从开发人员网站获得了所有 API 密钥和应用程序秘密等 现在我想要的是一个很好的资源 为我提供如何使用Python IDLE 在win7中 验证和检索
  • 为什么我们应该避免使用修饰符形式的rescue?

    我来定义价值 但这个值可能是hash的key的值 我会用rescue如果该键不存在 则定义值为 nil 例如 foo bar a b c rescue nil 但在实践中告诉我不好的风格 因为我使用了修饰符形式的救援 我将更改逻辑以使用检查
  • 从文件中读取行而不在末尾添加“\n”[重复]

    这个问题在这里已经有答案了 我的文件是 xml txt 包含以下内容 books xml news xml mix xml 如果我使用 readline 函数 它会在所有文件的名称处附加 n 这是一个错误 因为我想打开 xml txt 中包
  • 安装Facebook修改的referrer参数值

    I used Google Play 安装引荐来源网址在我的 android 应用程序中并使用以下参数并生成URL正如所描述的 utm source utm medium utm content utm campaign 我编写了自己的自定
  • 如何高效抽分

    我的程序接收 PCL 点云并使用以下方法一一绘制每个点 glBegin GL POINTS glVertex3f point x point y point z glEnd 它可以工作 但由于点数量较多 程序速度相当慢 有没有更有效的方法来
  • 使用 .htaccess 重定向站点但排除两个以上文件夹

    根据这个answer https stackoverflow com a 3414030 3817111 您可以从重定向中排除单个子文件夹 如下所示 RewriteEngine on RewriteRule uploads http exa
  • 使用 Proguard 混淆 ORMLite 模型类

    我想在代码中混淆一些模型 我知道我可以忽略整个模型包 但我不想这样做 我尝试了一些混淆器调整并检查了所有相关帖子 但无济于事 ORMlite 不断抛出java lang RuntimeException Unable to create a
  • Flutter 中何时使用 setState?

    作为 flutter 的新手 使用时对我来说非常困惑setState in Flutter应用 在下面的代码中布尔值searching和变量resBody里面用的setState 我的问题是为什么只searching and resBody
  • Rails update_attribute

    我遇到了以下问题 我有一个名为 用户 的模型 其中有一列名为 已激活 我试图用激活的方法更新该值 但它给了我错误 验证失败 密码不能为空 密码太短 最少为 6 个字符 这对我来说没有意义 因为我没有接触密码字段 我只想更新激活的列 我把代码
  • 正则表达式匹配第一次出现*之后*出现的所有字符?

    例如 如果我尝试匹配输入字符串中的 w 爱德华 伍德沃德 第二个单词中的两个 w 应该匹配 而不是第一个单词中的两个 w 我有一种暗示 该解决方案可能涉及 消极后视 但只是无法获得任何可行的解决方案 我正在使用 Objective C 和正
  • 类型解构

    我的数据类型始终至少有两个参数 最后两个参数始终分别为 q 和 m LANGUAGE TypeFamilies FlexibleContexts UndecidableInstances TypeOperators DataKinds Co
  • R 传单突出显示选项

    我使用以下命令突出显示 R 传单上的一行 library leaflet m leaflet gt addTiles group OpenStreetMap x lt c 1 5 4 8 y lt c 1 3 4 7 data sp Spa
  • 麦克风检测 Actionscript 3

    我在检测是否检测到麦克风时遇到一些问题 我正在运行该函数Microphone getMicrophone 那应该返回null如果没有连接麦克风 或者用户在安全面板上单击了 拒绝 对吗 我面临的问题是 在某些没有安装麦克风的计算机上 Micr
  • 从并行流捕获异常

    我有一堆列作为 csv 文件中的字符串数组 现在我想解析它们 由于此解析需要日期解析和其他不太快的解析技术 因此我正在考虑并行性 我对其进行了计时 这需要一些时间 我的简单方法 Stream of columns parallel forE
  • 自定义相对布局不显示子视图

    我正在尝试创建一个包含两个 imageView 的自定义相对布局 一个图像视图出现在整个屏幕上 另一个图像视图出现在第一个图像视图的左上角 后来我在活动的 xml 文件中使用这个自定义视图 但是 以下代码不会在显示屏上显示任何内容 任何视图
  • AWS Glue:如何在输出中添加包含源文件名的列?

    有谁知道如何将源文件名添加为粘合作业中的列 我们创建了一个流程 在其中抓取 S3 中的一些文件以创建架构 然后 我们编写了一个作业 将文件转换为新格式 并将这些文件以 CSV 形式写回另一个 S3 存储桶 以供管道的其余部分使用 我们想要做