目前我正在尝试将AWS EMR与Talend集成。
我的目的是在AWS EMR上运行Talend作业(由Talend工作室导出)。我已经尝试添加步骤为自定义罐,但它似乎通过使用也导出的lib
文件夹和脚本运行Talend作业。
我想用脂肪罐运行它,但是这个问题表明我们不能这样做,因为缺乏将JAR文件导出为脂肪罐的功能。-
有什么好方法可以将Talend job与Amazon EMR集成在一起吗?
最后,我通过使用AWS提供的script-runner.jar
解决了这个问题。
在集群中运行脚本
我创建了Lambda脚本来启动EMR集群。我附加了HadoopJarStep。这允许我们使用一些shell脚本来下载
>
请参阅Boto3 Docs-EMR了解其含义
'HadoopJarStep': {
'Jar': 's3://ap-northeast-1.elasticmapreduce/libs/script-runner/script-runner.jar',
'Args': [
's3://your/bucket/name.../talend_run.sh'
]
}
talend_run.sh
就像下面一样(一个可惜的shellcript)
#!/bin/bash
echo "Start, Talend!!"
# here is exported talend job ( contains bootstrap shellscript )
ZIP_NAME=talend-batch-zipped.zip
DIR_NAME=talend-batch-zipped/kicker
SHELL_NAME=kicker_run.sh
# update package because EMR servers don't have unzip command
sudo yum update -y
sudo yum install -y wget unzip
rm -rf ${ZIP_NAME}
wget https://your.using.s3.host.name/${ZIP_NAME} -P `pwd`/
# unzip the zipped job file into the EMR server
unzip ${ZIP_NAME}
cd ${DIR_NAME}
# pass parameters to talend job
bash ./${SHELL_NAME} "$@"
启动AWS Lambda函数后,创建了EMR集群。在此之后,EMR服务器将处理一个步骤(位于shell之上)。
问题内容: 我必须为我的OJT公司编程一个应用程序管理系统。前端将在C#中完成,后端将在SQL中完成。 现在,我从来没有做过这样的项目。在学校里,我们只有关于SQL的基本课程。不知何故,我们的老师完全没有讨论SQL注入,而我直到现在才通过网上阅读与之接触。 所以无论如何,我的问题是:如何防止C#中的SQL注入?我模糊地认为,可以通过适当地屏蔽应用程序的文本字段来做到这一点,以使其仅接受指定格式的输
问题内容: 想象一下具有滚动级别的太空射击游戏。有哪些方法可以防止恶意玩家修改游戏以使其受益?他可以做的很难限制服务器端的事情是自动瞄准,在可见区域外偷看,加速黑客攻击等。 有什么方法可以防止这种情况发生?假定服务器是任何语言,并且客户端通过WebSocket连接。 始终假定代码是100%可入侵的。想办法防止客户完全重写(出于作弊目的)作弊。这些可能是诸如编写安全游戏协议的方法,服务器端检测等。
问题内容: 我有几个实现某些接口的类。该接口有一个约定,某些方法应该同步,有些方法应该不同步,我想通过单元测试对所有实现进行验证。这些方法应使用synced关键字或将其锁定-与SynchronizedCollection()包装器非常相似。这意味着我应该能够从外部观察它。 如果我有一个调用iterator()的线程来继续Collections.synchronizedCollection()的示例
问题内容: 例如,这是否合法: 效果如何?是否有任何特殊的语法? 问题答案: 更新 由于可以使用lambda嵌套Java 8方法,因此请参见另一个问题。 此答案对Java 8之前的Java版本有效 原始答案如下: Java中的方法可以嵌套吗?…? 不,那不可能。 您可以获得的最接近的是: 即,在方法中定义的内部类中定义的第二种方法。 您可以在内部类内部将方法声明为静态,因此不必调用
材料设计非常强调“纸张”的隐喻。要做到这一点,阴影是必不可少的。由于材料设计是一种理念,而不是API(尽管它内置在L中),因此应该在任何地方(Windows窗体、HTML/CSS等)进行设计。如何在Android API 14到20中做到这一点? 请注意,对于圆形和其他非方形形状,预制PNG实际上并不实用。
看起来Hive不支持表名和列名中的Unicode。例如,我不能在配置单元中创建具有西里尔列名的表(请参见下面的异常)。有什么方法可以使配置单元与西里尔表和列名一起工作吗? 我使用: