【问题标题】:How to execute AWS emr and redshift scripts?如何执行 AWS emr 和 redshift 脚本?
【发布时间】:2015-04-02 12:47:28
【问题描述】:

我在S3 folder 中有文件,我必须使用来自EMRPiG scripts 进行转换,然后加载回s3。

之后,我在 redshift 中创建了从 S3 加载的表。

目前,我已经使用 SQL 工作台从 s3 加载文件,并且我已经从 AWS GUI 窗口执行了 pig 脚本。

我想知道如何从 unix shell 调用 pig 脚本? 除了 sqlworkbench,我如何执行 redshift 脚本? 如何按顺序运行它们?

我是否需要设置 EC2 Linux 才能连接到 EMR? 注意:我也有一个 Windows EC2 实例。

【问题讨论】:

    标签: amazon-web-services amazon-ec2 amazon-s3 emr


    【解决方案1】:

    首先你需要使用 EMR 启动器代码,你可以使用 amazon cli 或 amazon java SDK 来做。使用它,您可以启动 EMR 作业。

    您也可以使用亚马逊 EMR 控制台来创建集群。请选择 step pig 程序并为您的 pig 脚本提供路径,即 S3。 在路径中指定 S3 中的输入位置和输出到 s3 的位置。启动作业。

    一旦作业结束,它会将输出写入 s3。

    在作业成功完成作业后,启动脚本(python、shell 或 java 代码)以触发复制命令。此脚本应连接到您的 redshift 集群,将处理后的内容从 S3 复制到 redshift 表。

    您可以从本地计算机连接 EMR 和 redshift,也可以使用 EC2 触发 EMR 启动器和 redshift 加载器脚本。

    【讨论】:

    • Sandesh 让我告诉你到目前为止我做了什么,然后你可以指导我。 1.推出EMR实例。 2.已经有Ec2窗口。 3. s3上传文件。 4.创建在cloudera env中测试的Pig脚本。 5.因为有防火墙设置我必须连接到ec2 windows。 6.我已经安装了putty,从那里我可以通过putty连接到emr。 7. 我想测试一下加载和存储命令等pig脚本的一行代码。我应该在 putty 中打开的 grunt shell 中进行测试。你能验证一下步骤,然后我可以问我的下一个问题。
    • 把你的猪脚本也放在 s3 中。如果您使用 AWS 控制台创建 EMR,则添加 setup pig 程序并运行它。您不需要 ec2 windows 来运行该作业。您也可以使用本地系统享用午餐
    • 我的问题是最好的方法是什么。将您的脚本放在 emr 集群中还是将它们放在 s3 中?我不会做任何控制台。我必须在后端做。所以我的问题是是否将pig脚本包装在unix中然后执行?
    猜你喜欢
    • 2022-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-13
    • 1970-01-01
    • 1970-01-01
    • 2017-12-13
    相关资源
    最近更新 更多