通过 AWS Data Pipelines 运行 python 脚本

2023-12-10

我使用 AWS Data Pipelines 运行夜间 SQL 查询,以填充表以获取摘要统计信息。用户界面有点时髦,但最终我安装并运行了。

现在我想用 python 脚本做类似的事情。我有一个每天早上在笔记本电脑上运行的文件(forecast_rev.py)但这当然意味着I每天都必须打开我的笔记本电脑并开始它。当然,我可以安排一个管道来做同样的事情,这样就可以去度假而不关心了。

我一生都找不到关于此的教程、AWS 文档或 StackOverflow!我什至不知道如何开始。有人愿意分享一个简单的管道吗?


我遇到了类似的情况,这是我如何克服的。
我将描述我如何使用 Ec2Resource 做到这一点。如果您正在 EMRCluster 中寻找解决方案,请参阅@franklinsijoanswer.

Steps
1。将您的 python 脚本存储在 s3 中。
2。创建一个 shell 脚本(hello.sh)(如下所示)并将其存储到 s3
3。创建 Ec2Resource 节点和 ShellCommandActivity 节点并提供这些信息。

  • 在“Script Uri”中提供 shell 脚本 S3 url,并将“stage”设置为 trueShellCommandActivity。它应该运行在你的DefaultResource

这是 shell 脚本(hello.sh),它从 s3 下载你的 python 程序并存储在本地,安装 python 和所需的第 3 方库,最后执行你的 python 文件。

hello.sh

echo 'Download python file to local temp'
aws s3 cp s3://path/to/python_file/hello_world.py /tmp/hello.py
# Install python(on CentOs )
sudo yum -y install python-pip
pip install <dependencies>
python /tmp/hello.py

我在尝试时遇到了困难爆炸线所以不要将它们包含在这里。
if aws cp命令不起作用(awscli 较旧),这是针对这种情况的快速解决方案。

  1. 按照上面的步骤 1-3 进行操作,同时创建一个s3DataNode.
    I. 在 S3DataNode 的“文件路径”中提供您的 python s3 url。
    二.提供 DataNode 作为“输入”ShellCommandActivity
    三.在“命令”字段中写入以下命令ShellCommandActivity

Command

echo 'Install Python2'
sudo yum -y install python-pip
pip install <dependencies>
python ${INPUT1_STAGING_DIR}/hello_world.py
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过 AWS Data Pipelines 运行 python 脚本 的相关文章

  • 将 pandas 数据框中的列减去其第一个值

    我需要将 pandas 数据帧的一列中的所有元素减去其第一个值 在这段代码中 pandas 抱怨 self inferred type 我猜这是循环引用 df Time df Time df Time 0 在这段代码中 pandas 抱怨为
  • 如何屏蔽 PyTorch 权重参数中的权重?

    我正在尝试在 PyTorch 中屏蔽 强制为零 特定权重值 我试图掩盖的权重是这样定义的def init class LSTM MASK nn Module def init self options inp dim super LSTM
  • 打印 scrapy 请求的“响应”

    我正在尝试学习 scrapy 在遵循教程的同时 我正在尝试进行细微的调整 我想简单地从请求中获取响应内容 然后我会将响应传递到教程代码中 但我无法发出请求并获取响应内容 建议就好 from scrapy http import Respon
  • Python:当前目录是否自动包含在路径中?

    Python 3 4 通过阅读其他一些 SO 问题 似乎如果moduleName py文件位于当前目录之外 如果要导入它 必须将其添加到路径中sys path insert 0 path to application app folder
  • 将一个时间序列插入到 pandas 中的另一个时间序列中

    我有一组定期测量的值 说 import pandas as pd import numpy as np rng pd date range 2013 01 01 periods 12 freq H data pd Series np ran
  • 如何使用 openpyxl 对工作簿中的 Excel 工作表/选项卡进行排序

    我需要按字母数字对工作簿中的选项卡 工作表进行排序 我在用openpyxl https openpyxl readthedocs io en default 操作工作表 您可以尝试排序workbook sheets list workboo
  • VSCode pytest 测试发现失败

    Pytest 测试发现失败 用户界面指出 Test discovery error please check the configuration settings for the tests 输出窗口显示 Test Discovery fa
  • 唯一的图像哈希值即使 EXIF 信息更新也不会改变

    我正在寻找一种方法来为 python 和 php 中的图像创建唯一的哈希值 我考虑过对原始文件使用 md5 和 因为它们可以快速生成 但是当我更新 EXIF 信息 有时时区关闭 时 它会更改总和 并且哈希也会更改 有没有其他方法可以为这些文
  • 行为:如何从另一个文件导入步骤?

    我刚刚开始使用behave http pythonhosted org behave 一个Pythonic BDD框架 使用小黄瓜语法 http docs behat org guides 1 gherkin html 行为需要一个特征 例
  • 使用Python将图像转换为十六进制格式

    我的下面有一个jpg文件tmp folder upload path tmp resized test jpg 我一直在使用下面的代码 Method 1 with open upload path rb as image file enco
  • Python unicode 字符代码?

    有没有办法将 Unicode 字符 插入 Python 3 中的字符串 例如 gt gt gt import unicode gt gt gt string This is a full block s unicode charcode U
  • 在 Windows 上使用 IPython 笔记本时出现 500 服务器错误

    我刚刚在 Windows 7 Professional 64 位上全新安装了 IPython 笔记本 我采取的步骤是 从以下位置安装 Python 3 4 1http python org http python org gt pip in
  • Python int 太大,无法放入 SQLite

    我收到错误 OverflowError Python int 太大 无法转换为 SQLite INTEGER 来自以下代码块 该文件约25GB 因此必须分部分读取 length 6128765 Works on partitions of
  • 在谷歌C​​olab中使用cv2.imshow()

    我正在尝试通过输入视频来对视频进行对象检测 cap cv2 VideoCapture video3 mp4 在处理部分之后 我想使用实时对象检测来显示视频 while True ret image np cap read Expand di
  • 在pycharm中调试python代码

    这个问题类似于this https stackoverflow com questions 10240018 how to use pycharm to debug python script一 我正在尝试调试pyethapp https
  • Python 矩阵每一行的总和

    lista 1 2 3 4 5 6 7 8 9 print lista def filas lista res for elemento in lista x sum lista elemento res append x print re
  • 使用 lambda 函数更改属性值

    我可以使用 lambda 函数循环遍历类对象列表并更改属性值 对于所有对象或满足特定条件的对象 吗 class Student object def init self name age self name name self age ag
  • Scrapy 蜘蛛无法工作

    由于到目前为止没有任何效果 我开始了一个新项目 python scrapy ctl py startproject Nu 我完全按照教程操作 创建了文件夹和一个新的蜘蛛 from scrapy contrib spiders import
  • 如何使用 Django (Python) 登录表单?

    我在 Django 中构建了一个登录表单 现在我遇到了路由问题 当我选择登录按钮时 表单不会发送正确的遮阳篷 我认为前端的表单无法从 查看 py 文件 所以它不会发送任何 awnser 并且登录过程无法工作 该表单是一个简单的静态 html
  • 如何在SqlAlchemy中执行“左外连接”

    我需要执行这个查询 select field11 field12 from Table 1 t1 left outer join Table 2 t2 ON t2 tbl1 id t1 tbl1 id where t2 tbl2 id is

随机推荐

  • 旧浏览器的真正占位符文本修复?

    我想使用 jQuery 代码来模拟旧浏览器的占位符文本 我找到了一些非常适合的人选 而且工作效果很好 然而 一个问题是解决方案倾向于输入占位符文本作为单元格值 直到用户输入 这意味着 如果提交 html 表单时任何字段均未更改 则占位符文本
  • Spring Cloud Stream 3.0存在生产者问题

    我阅读了有关spring cloud Stream 3 0的文档 了解了新使用java util function Supplier Function Consumer 来表示生产者 消耗者和生产者 消费者 这应该是正确的 但我不明白供应商
  • HashMap 冲突会导致调整大小吗?

    当放入 HashMap 期间发生冲突时 是否会调整映射大小 或者是否将条目添加到该特定存储桶中的列表中 当你说 碰撞 时 你指的是相同的哈希码吗 hashcode用于确定HashMap中使用哪个bucket bucket由所有具有相同has
  • 苹果单例查询示例?

    我对这段代码 在 CocoaFundamentals 指南中介绍 感到有点困惑 它在创建单例实例时覆盖了一些方法 static id sharedReactor nil id sharedInstance if sharedReactor
  • 字符串 - 克隆、复制和标准影响之间的区别

    我在浏览遗留代码时刚刚遇到这样的块 object exeName connectionSettings ApplicationName Clone RandomFunction exeName 起初这对我来说似乎没什么用 但它让我感到好奇
  • R 4.0.0及更高版本下使用向量动态更新公式

    我想使用 R 4 0 0 或更高版本下的向量动态更新公式 因此 一切都与此链接下的相同 R 动态更新公式 但 x 现在是一个向量 并且 R 版本 gt 4 0 简而言之 我有一个公式 例如y 1 并且希望通过字符标量 myvar1 或字符向
  • 我可以在 iOS 上使用 google Drive sdk 以及来自 google Sign-in sdk 的身份验证信息吗?

    我们已经有一个使用 Google Sign In sdk 的登录模块 Google 登录给出了GID认证登录成功后的对象 现在我想使用 googledrive sdk 访问用户的 googledrive 它需要 GTMOAuth2Authe
  • 我应该在 href="" 中使用 & 还是在 HTML4 和 HTML5 中 & 就足够了?

    我应该使用 amp in href or HTML4 和 HTML5 就够了吗 大多数浏览器都没有问题 但是应该如何完成呢 a href param1 1 param2 2 Call a Or a href quest param1 1 a
  • 从 Tkinter Tcl 回调 python 函数在 Windows 中崩溃

    这不完全是我的应用程序 但非常相似 我创建了这个测试代码来显示问题 基本上我试图从 python 线程调用 tcl proc 当结果准备好时 Tcl proc 将回调到 python 函数 该结果将作为事件发布到 wx 框架 当我作为纯 p
  • Android发布密钥库问题:“密钥库被篡改,或密码不正确”

    几个月前 我使用以下命令生成了 Android 版本密钥库 keytool genkey v keystore my release key keystore alias myalias keyalg RSA keysize 2048 va
  • 从最新到最旧读取事件日志

    我编写了一个简短的程序 使用启动和关闭时发布的事件日志消息来确定远程 PC 的正常运行时间 目前的逻辑是 foreach eventlogentry if entryTime gt OldestTime if entry Startup a
  • Spring MVC不加载css、js文件到静态html页面

    我禁用了该角色内部视图解析器为了访问一些静态页面 html not jsp页面 我做了所需的更改 确实我做了并且我可以访问我的html页面 但是当我看到浏览器的控制台时 它看起来好像没有带来我的本地css and js files 这是我的
  • 在 Ruby 中访问 JSON 对象 [关闭]

    Closed 这个问题需要调试细节 目前不接受答案 我有一个 json 文件 看起来像这样 Results Lookup null Result Paths Domain VALUE1 LTD Url Text1 Modules Name
  • 如何编辑文件夹/文件的修改日期?

    我正在使用 webdav 和 HttpWebRequest MKCOL 方法在 SP 中创建文件夹 我使用 WebClient 上传文件 对于上传的文件和创建的文件夹 如何设置其修改日期 我正在寻找类似的东西Directory SetLas
  • Swift 5:转义闭包捕获“inout”参数

    我已经有了从服务器收到的响应数据 这个响应数据有一些面包师数据 现在我想计算用户和面包店的距离 然后将其存储在同一个模态类中 我为它创建了一个函数 由于这个函数需要在 4 5 视图控制器中使用 我的计划是创建为 UIViewControll
  • 如何在 Python 中使用 ctypes 卸载 DLL?

    我正在使用 ctypes 在 Python 中加载 DLL 这很好用 现在我们希望能够在运行时重新加载该 DLL 直接的方法似乎是 1 卸载DLL 2 加载DLL 不幸的是我不确定卸载 DLL 的正确方法是什么 ctypes FreeLib
  • 创建自定义 Powershell 对象的多个实例

    我正在 Powershell 脚本中创建一个新对象 或者实际上是一个对象类型 我想创建该对象的多个实例 我该怎么做呢 下面的代码是我正在处理的代码 看起来数组中的所有实例都引用相同的对象 包含相同的值 Define output objec
  • DART:有人可以向我解释一下这句话吗?

    我正在学习 Dart 和 Flutter 但我正在努力解决一些基本的编程问题 例如 getter 的使用 GoogleSignInAccount get user gt user 与 get 方法等效的是什么 什么是 变量末尾的意思是什么
  • 在 Sublime Text 2 中使用默认的 ruby​​ 版本

    我的默认当前 ruby 版本是 1 9 3 它实际上是我运行时出现的唯一版本rvm list所以我不明白我怎么能把那部分搞乱 我确实关注了this我在这里找到的教程 但它似乎破坏了一切 对于我看到的修复程序的所有变体 甚至在评论中 我不断收
  • 通过 AWS Data Pipelines 运行 python 脚本

    我使用 AWS Data Pipelines 运行夜间 SQL 查询 以填充表以获取摘要统计信息 用户界面有点时髦 但最终我安装并运行了 现在我想用 python 脚本做类似的事情 我有一个每天早上在笔记本电脑上运行的文件 forecast