AWS Athena 对来自 Protobuf(Google Protocol Buffers)的 S3 中的二进制文件进行 AWS GLUE 转换

Cro*_*rog 5 amazon-s3 protocol-buffers amazon-web-services aws-glue

首先。我对此有点陌生,所以如果我的条款不正确,我深表歉意。

我们正在做什么

我们在 S3 中已有二进制文件格式的文件(例如 Google Protocol Buffers),我们希望运行 ETL 作业来创建转换数据的数据湖,这些数据将使用 Amazon Redshift 或 Amazon Athena 进行访问。将来我们可能会通过 Kinesis 进行流传输。

我们面临的问题

我们正在考虑使用 AWSglue,但其支持的格式列表有限(CSV、Json、Parquet、Orc、Avro、Grok),并且在文档https://docs.aws 中未提供“自定义/其他”。 amazon.com/glue/latest/dg/aws-glue-programming-etl-format.html

想法

  • 在 Glue 作业中将 S3 中的数据预先转换为 Parquet 输入是否是一种经济有效的方法?
  • 是否可以使用我们的自定义二进制格式扩展 AWS Glue
  • 也许我们使用了错误的 AWS 工具?

关键考虑因素

  • 成本,即如果我们必须复制 S3 中的所有数据以便 Glue 对其进行处理,而不是以某种方式进行内存中流转换!
  • 稍后我们希望使用 Kinesis 流式传输数据

非常感谢您可能拥有的任何帮助或经验,特别是示例或现有用例,因为我不认为我们正在尝试做的事情与众不同......或者是吗?