ETL - 用于配置表的SFTP服务器

时间:2018-01-17 14:43:06

标签: apache-spark bigdata etl

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

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

    第1阶段将从SFTP读取文件并将其转储到S3中。这个阶段会定期运行,非常轻巧。它会有重试和东西。

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

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

    我可以用于我的用例的任何开源项目吗?你们推荐其他方法吗?

1 个答案:

答案 0 :(得分:1)

  1. 我使用hive,源代码为sftp:// path,dest为s3a://。
  2. 但我不会将.csv用作持久性格式。因为它很糟糕用于性能查询的ORC或Parquet,或用于交换的Avro。