小编And*_*aes的帖子

创建与MS SQL Server RDS的Glue连接的问题

我在这里阅读了所有已回答的问题,其中5个.所有这些都是关于可用的AWS产品现已过时的.

因此,作为AWS的新手,我想知道如何解决我的问题,或者仅使用AWS解决方案解决问题的最佳方法是什么.我想避开任何第三方.我知道我会引用我用Google搜索的一种方法,但只是引用它.

无论如何,我有一个目标要实现,这基本上取代了我的SQL Server 2012集成服务,只使用AWS产品.现在我正在访问FTP服务器并将一堆CSV文件下载到我的驱动器,读取它们,将它们转换为我的数据集并将它们加载到我指定的表中.此过程计划每天执行3次.

我最初的提议是将文件上传到S3,使用AWS Glue Crawlers抓取我的文件并填充我自己创建的AWS Glue数据目录,将它们ETL添加到我的RDS.到目前为止,我可以实现我的Lambda函数连接我的FTP并上传到我的S3,我也可以使用AWS Athena检索我的数据,只是为了看看是否一切正常.

但现在,我正努力让我的ETL复制/创建我的表到RDS并写入数据.我在相同的RDS VPC,子网和安全组下创建了My Glue Connection,我的安全组也有来自任何地方的All TCP(我知道,我不会离开它,它只是用于测试)而且我使用的是JDBC,编写以下JDBC URL:

jdbc:sqlserver://my-database-name.xsdfxsdsfsfsx.us-east-1.rds.amazonaws.com:1433;databaseName=my-database-name
Run Code Online (Sandbox Code Playgroud)

我可以使用AWS Glue中的"Test Connection"来测试我创建的连接,它运行正常.但是在使用Job教程创建我的Job并运行它之后,在我的日志错误中我可以看到:

com.amazon.ws.emr.hadoop.fs.shaded.org.apache.http.conn.HttpHostConnectException: Connect to 167.254.77.1:8088 [/167.254.77.1] failed: Connection refused (Connection refused)
Run Code Online (Sandbox Code Playgroud)

我尝试使用Amazon RDS选项创建连接,但在选择实例后的第二个屏幕上,我收到以下错误:

Unable to find a suitable security group. Change connection type to JDBC and retry adding your connection.
Run Code Online (Sandbox Code Playgroud)

我检查了我的IAM,并且我确实在AWS服务中拥有AWSGlueServiceRoleDefault角色:粘贴可信赖的服务和用于AWS托管策略的AWSGlueServiceRole,如文档中所述.

我想知道我错过了什么,或者如何修复它以使其工作.或者即使有更好的方法来实现我的目标.

jdbc amazon-s3 amazon-web-services aws-glue

4
推荐指数
1
解决办法
3953
查看次数

左连接导致错误的值

当我执行此查询时:

select CONTA_ANALITICA_GERAL,
    DESIGNACAO_CC as CENTRO_CUSTO,
    sum(VALOR) as TOTAL
from VER_CNTORC_REAL_MES
where ANO = EXTRACT(year from sysdate)
    and MES = 2
    and CONTA_ANALITICA_AUXILIAR > 0
    and CONTA_FINANCEIRA_GERAL like '62%'
group by CONTA_ANALITICA_GERAL,
        DESIGNACAO_CC
Run Code Online (Sandbox Code Playgroud)

我得到以下结果:

在此输入图像描述

但是当我尝试与另一个表进行左连接时(所以在我可以使用第三个连接以获得与"conta_analitica_geral"字段相关联的名称)之后使用此查询:

select A.DESIGNACAO_CC,
       A.CONTA_ANALITICA_GERAL,
       B.CONTA_ANALITICA,
       sum(A.VALOR) as TOTAL
from VER_CNTORC_REAL_MES A
left join VER_MOVIMENTOS_CNT B on A.CONTA_ANALITICA_GERAL = B.CONTA_ANALITICA
where A.MES between 1 and 12
      and A.ANO = 2015
      and A.MES = 2
      and A.CONTA_ANALITICA_AUXILIAR > 0
      and A.CONTA_FINANCEIRA_GERAL like '62%'
group by A.DESIGNACAO_CC,
         A.CONTA_ANALITICA_GERAL,
         B.CONTA_ANALITICA …
Run Code Online (Sandbox Code Playgroud)

sql oracle left-join

1
推荐指数
1
解决办法
417
查看次数