当前位置: 首页 > 知识库问答 >
问题:

在AWS粘合作业中运行java -jar

闾丘冠玉
2023-03-14

我有相对简单的任务要做,但要与最好的AWS服务组合一起努力实现这一目标:

  1. 我有一个简单的java程序(由第三方提供-我不能修改它,只是使用它),我可以在任何地方运行<code>java-jar——目标位置“本地磁盘上的路径”。该程序一旦执行,将在本地磁盘上创建csv文件,路径定义为--目标位置
  2. 创建文件后,我需要将其上传到S3

我目前的做法是使用安装了 Java 的专用 EC2 实例,第一点由 java -jar 覆盖...,第二点使用 aws s3 cp ... 命令

我正在寻找更好的方法来做到这一点(最好是无服务器)。我想知道以上几点是否可以用AWS Glue Job type Python Shell来完成?第二点(将本地文件复制到S3),很可能我可以用boto3覆盖,但是首先(< code>java -jar执行)——我不确定。


我是被迫使用EC2实例,还是您看到了使用AWS胶水的更聪明的方法
还是最有效的方法是构建docker镜像(包含这两条html" target="_blank">指令),在ECR中注册并运行AWS批处理?

共有1个答案

商飞龙
2023-03-14

我正在寻找更好的方法(最好是无服务器)。

我不知道无服务器选项是否更好,但是,EC2实例可以很好地完成这项工作。假设您的实例上有CentOS,您可以通过

一些有用的 Web 面板提供 cron 计划任务,例如将一些文件从一个目录备份到另一个 S3 目录。我将以aaPanel为例。

在插件中配置凭据。

添加计划任务以将文件从“本地光盘路径”备份到 AWS S3。

Web 面板超出了此问题的范围。Rclone是我用来将文件从本地磁盘备份到OneDrive,S3等的另一个有用工具。

curlhttps://rclone.org/install.sh|sudo bash

将目录同步到远程存储桶,删除存储桶中的任何多余文件rclone sync-i/home/local/directory remote:bucket

 类似资料:
  • 我们每天上午11点从供应商收到1个s3桶中的csv文件。我在上午11:30使用Glue将此文件转换为拼花格式。 我已启用作业书签不处理已处理的文件。尽管如此,我看到一些文件正在重新处理,从而创建重复文件。 我阅读了这些问题和答案AWS Glue Bookmark为拼花地板制作副本和AWS Glue Job书签说明 他们很好地理解了工作书签,但仍然没有解决这个问题。 AWS留档表示,它支持CSV文件

  • 我试图在hadoop中运行一个程序,但我一直得到: 线程“main”java.lang.unsupportedClassVersionError:hadoop_project_16/aggregatejob:不支持major.minor版本52.0在java.lang.ClassLoader.DefineClass1(本机方法)在java.lang.ClassLoader.DefineClass(

  • 问题内容: 我想以分离模式在docker容器中运行python cron作业。我的设置如下: 我的python脚本是test.py 我的cron文件是my-crontab 而我的Dockerfile是 这种方法潜在的问题是什么?还有其他方法,它们的优缺点是什么? 问题答案: 我在尝试使cron作业在docker容器中运行时遇到的几个问题是: Docker容器中的时间不是UTC的本地时间; dock

  • 这种方法的潜在问题是什么?是否还有其他方法,它们的利弊是什么?

  • 在分区的拼花文件上运行粘合作业时,我遇到以下错误,无法推断拼花的模式。必须手动指定 我已经设置了我的爬虫并成功获取了拼花文件的模式。我可以在Athena中查看数据。我已经在我的目标Redshift上手动创建了模式。 如果我的所有数据都只在一个文件夹中,我可以通过GLUE将文件加载到Redshift中。但是当我指向具有嵌套文件夹的文件夹时,例如文件夹X-有04和05-GLUE作业失败并显示消息无法推

  • 我有一个优化代码运行在sagemaker。我想每1小时运行一次代码。我怎么能在sagemaker安排跑步?。我不想调用模型endpoint,但我想在每1小时运行整个代码。