本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
启用记录格式转换
如果您启用记录格式转换,则无法将 Amazon Data Firehose 目的地设置为 Amazon OpenSearch Service、Amazon Redshift 或 Splunk。启用格式转换后,Amazon S3 就是您可用于 Firehose 流的唯一目的地。下一节将介绍如何从控制台和 Firehose API 操作启用记录格式转换。有关如何使用 Amazon CloudFormation 设置记录格式转换的示例,请参阅 Amazon::DataFirehose::DeliveryStream。
从控制台前期用记录格式转换
您可以在创建或更新 Firehose 流时在控制台上启用数据格式转换。启用数据格式转换后,Amazon S3 就是您可为 Firehose 流进行配置的唯一目的地。此外,启用格式转换时,系统将禁用 Amazon S3 压缩。但是,Snappy 压缩会作为自动转换过程的一部分自动进行。在这种情况下,Amazon Data Firehose 使用的 Snappy 的构造格式与 Hadoop 兼容。这意味着,您可以使用 Snappy 压缩的结果并在 Athena 中对这些数据运行查询。有关 Hadoop 所依赖的 Snappy 构造格式,请参阅 BlockCompressorStream.java
要对数据 Firehose 流启用数据格式转换
-
访问 https://console.aws.amazon.com/firehose/
,登录到 Amazon Web Services 管理控制台 并打开 Amazon Data Firehose 控制台。 -
选择要更新的 Firehose 流,或按照 教程:从控制台创建 Firehose 流 中的步骤创建新的 Firehose 流。
-
在转换记录格式下,将记录格式转换设置为已启用。
-
选择所需的输出格式。有关这两个选项的更多信息,请参阅 Apache Parquet
和 Apache ORC 。 -
选择 Amazon Glue 表来指定源记录的架构。设置区域、数据库、表和表版本。
管理 Firehose API 的记录格式转换
如果您需要 Amazon Data Firehose 将输入数据的格式从 JSON 转换为 Parquet 或 ORC,请在 ExtendedS3DestinationConfiguration 或 ExtendedS3DestinationUpdate 中指定可选的 DataFormatConversionConfiguration 元素。如果指定 DataFormatConversionConfiguration,则以下限制将适用。
-
在 BufferingHints 中,如果启用记录格式转换,则不能将
SizeInMBs设置为小于 64 的值。此外,如果未启用格式转换,则默认值为 5。在启用格式转换后,该值将变为 128。 -
您必须将 ExtendedS3DestinationConfiguration 或 ExtendedS3DestinationUpdate 中的
CompressionFormat设置为UNCOMPRESSED。CompressionFormat的默认值为UNCOMPRESSED。因此,您还可以在 ExtendedS3DestinationConfiguration 中对其不进行指定。默认情况下,数据将使用 Snappy 压缩来作为串行化过程的一部分得到压缩。在这种情况下,Amazon Data Firehose 使用的 Snappy 的构造格式与 Hadoop 兼容。这意味着,您可以使用 Snappy 压缩的结果并在 Athena 中对这些数据运行查询。有关 Hadoop 所依赖的 Snappy 构造格式,请参阅 BlockCompressorStream.java。当配置串行化器时,您可以选择其他类型的压缩。