我正在解决一个问题,我们打算使用EMR(SparkSQL)对数据执行多种转换。
在查看了AWS Data Pipelines和AWS Step Functions的文档之后,对于每个尝试解决的用例,我有些困惑。我环顾四周,但没有找到两者之间的权威比较。有多种资源展示了如何使用它们来调度和触发EMR集群上的Spark作业。
我应该使用哪一个来调度和编排处理EMR作业?
更一般而言,在哪种情况下,就ETL /数据处理而言,哪一种是另一种更好的选择?
我正在使用Load S3 data into RDS MySql tableAWS Data Pipeline 中的模板将 csv 从 S3 存储桶导入到我们的 RDS MySql 中。但是,我(作为具有完全管理权限的 IAM 用户)遇到了无法解决的警告:
对象:Ec2Instance - 警告:无法验证角色的 S3 访问权限。请确保角色 ('DataPipelineDefaultRole') 具有 DataPipeline 的 s3:Get*、s3:List*、s3:Put* 和 sts:AssumeRole 权限。
DataPipelineDefaultRoleGoogle 告诉我不要使用和的默认策略DataPipelineDefaultResourceRole。根据AWS Data Pipeline 的 IAM 角色文档和此 AWS 支持论坛上的主题,我使用了内联策略并编辑了这两个角色的信任关系。
政策DataPipelineDefaultRole:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"cloudwatch:*",
"datapipeline:DescribeObjects",
"datapipeline:EvaluateExpression",
"dynamodb:BatchGetItem",
"dynamodb:DescribeTable",
"dynamodb:GetItem",
"dynamodb:Query",
"dynamodb:Scan",
"dynamodb:UpdateTable",
"ec2:AuthorizeSecurityGroupIngress",
"ec2:CancelSpotInstanceRequests",
"ec2:CreateSecurityGroup",
"ec2:CreateTags",
"ec2:DeleteTags",
"ec2:Describe*",
"ec2:ModifyImageAttribute",
"ec2:ModifyInstanceAttribute", …Run Code Online (Sandbox Code Playgroud) amazon-s3 amazon-ec2 amazon-web-services amazon-data-pipeline aws-data-pipeline