Apache spark ETL-SFTP服务器到配置单元表

Apache spark ETL-SFTP服务器到配置单元表,apache-spark,bigdata,etl,Apache Spark,Bigdata,Etl,我想建立一个数据管道来处理来自SFTP服务器的文件(不同格式),并将它们放入配置单元(由S3支持)。每个文件类型(例如CSV、文本等)都有一个规范,用于解释文件中的字段。我们需要将每个字段映射到目标配置单元架构中的一个字段。下面是一些很好的特性 从SFTP服务器到配置单元的路径分为中间阶段,以便于调试和模块化 每个文件只处理一次。对该文件的重新处理应覆盖已处理文件中以前的记录 以下是我的想法: 阶段1将从SFTP读取文件并将其转储到S3中。此阶段将定期运行,并且非常轻量级。它会有重试之类的 阶段

我想建立一个数据管道来处理来自SFTP服务器的文件(不同格式),并将它们放入配置单元(由S3支持)。每个文件类型(例如CSV、文本等)都有一个规范,用于解释文件中的字段。我们需要将每个字段映射到目标配置单元架构中的一个字段。下面是一些很好的特性

  • 从SFTP服务器到配置单元的路径分为中间阶段,以便于调试和模块化
  • 每个文件只处理一次。对该文件的重新处理应覆盖已处理文件中以前的记录
  • 以下是我的想法:

    阶段1将从SFTP读取文件并将其转储到S3中。此阶段将定期运行,并且非常轻量级。它会有重试之类的

    阶段2将从S3中读取这些文件,并通过一系列验证、转换将其转换为CSV文件。基本上,来自每个处理器的文件都转换为CSV格式,而不管原始格式是什么。此新文件存储在不同的位置

    阶段3获取此CSV文件并在其上创建一个配置单元表

    是否有任何开源项目可以用于我的用例?你们还有什么别的建议吗

  • 我将使用hive,源代码为sftp://路径,dest为s3a://
  • 但我不会使用.csv作为持久性格式。因为它很烂。用于性能查询的ORC或拼花地板,或用于交换的Avro

  • 为什么要投否决票?