Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 AWS胶水检查文件内容的正确性_Amazon S3_Amazon Redshift_Etl_Aws Glue - Fatal编程技术网

Amazon s3 AWS胶水检查文件内容的正确性

Amazon s3 AWS胶水检查文件内容的正确性,amazon-s3,amazon-redshift,etl,aws-glue,Amazon S3,Amazon Redshift,Etl,Aws Glue,我在AWS中有一个项目,将S3中的一些文件中的数据插入到红移。关键是,必须每天安排ETL在S3中查找新文件,然后检查这些文件是否正确。但是,这必须通过自定义代码来完成,因为文件可以根据其类型、提供程序等具有不同的格式。 我看到AWS Glue允许调度、爬网和执行ETL。然而,我不知道如何为ETL创建自己的代码,并在执行从S3到红移的复制指令之前解析文件以检查正确性。你知道这是否可以做到,以及如何做到吗 另一个问题是,如果正确性没有问题,那么系统应该通过一些API将数据从S3上传到web。但如果不

我在AWS中有一个项目,将S3中的一些文件中的数据插入到红移。关键是,必须每天安排ETL在S3中查找新文件,然后检查这些文件是否正确。但是,这必须通过自定义代码来完成,因为文件可以根据其类型、提供程序等具有不同的格式。 我看到AWS Glue允许调度、爬网和执行ETL。然而,我不知道如何为ETL创建自己的代码,并在执行从S3到红移的复制指令之前解析文件以检查正确性。你知道这是否可以做到,以及如何做到吗

另一个问题是,如果正确性没有问题,那么系统应该通过一些API将数据从S3上传到web。但如果不是这样,则应将文件保留在ftp电子邮件中。再一次,你们知道用AWS胶水是否也能做到这一点,以及如何做到这一点吗


非常感谢

您可以编写glue/spark代码,将其上载到s3,并创建一个引用此脚本/库的glue作业。任何你想用python写的东西都可以用胶水来完成。它只是一个围绕spark的包装,spark反过来使用python….

我已经将齐柏林飞艇笔记本连接到AWS胶水端点。我可以运行pyspark代码和粘合库代码。但是,我需要使用一些python库。仅通过使用“import paramiko”导入paramiko库,我得到以下错误:无法执行第5行:import paramiko Traceback(最近一次调用):File“/tmp/zeppelin_pyspark-895507894114377331.py”,第380行,在exec(code,zcuseQueryNamespace)文件“”中,第5行,在ModuleNotFoundError中:没有名为“paramiko”的模块。如何在AWS Glue端点中使用python库?在设置端点时,应在python库路径中添加ur库。记得。。。只有纯python库才能工作。您可以在线下载该库的wheel文件,然后上传到s3,并为实现该技巧的python库路径指定该文件。谢谢然而,我需要在项目中使用sftp和Paramiko,这是python中最有名的库,因为它使用C代码进行算术运算。纯python中是否有其他用于sftp的库?或者我必须创建一个EMR来完成这项工作吗?虽然文档没有明确地指定它,但是创建一个python shell粘合作业并在那里导入paramiko可能是值得的。pythonshell胶水作业支持pandas,pandas不是一个纯python库,希望它可以与导入paramiko一起工作。另外你可以用熊猫来做你的工作。我明白了。在python中创建文件检查作业,然后在pyspark中运行ETL