记录格式转换为 Apache Parquet 失败 - Amazon Data Firehose
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

亚马逊 Data Firehose 以前被称为亚马逊 Kinesis Data Firehose

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

记录格式转换为 Apache Parquet 失败

如果您获取包含Set该类型的 DynamoDB 数据,通过 Lambda 将其流式传输到传输流,然后使用将记录格式转换为 Apache Parquet, Amazon Glue Data Catalog 则会发生这种情况。

当 Amazon Glue Crawler 为 DynamoDB 集数据类型StringSetNumberSetBinarySet和)编制索引时,它会将它们分别存储在数据目录中SET<STRING>,即SET<BIGINT>、和。SET<BINARY>但是,要让 Firehose 将数据记录转换为 Apache Parquet 格式,它需要 Apache Hive 数据类型。由于集类型并非有效的 Apache Hive 数据类型,所以转换会失败。要进行成功转换,请使用 Apache Hive 数据类型更新数据目录。为此,您可以将数据目录中的 set 更改为 array

在数据目录arrayset将一种或多种数据类型从更改为 Amazon Glue
  1. 登录 Amazon Web Services Management Console 并打开 Amazon Glue 控制台,网址为 https://console.aws.amazon.com/glue/

  2. 在左侧窗格中的数据目录标题下,选择

  3. 在表列表中,选择您需要修改一个或多个数据类型的表的名称。这会将您引导至该表的详细信息页面。

  4. 选择详细信息页面右上角的编辑架构按钮。

  5. 数据类型列中,选择第一个 set 数据类型。

  6. 列类型下拉列表中,将该类型从 set 更改为 array

  7. 根据您的ArraySchema场景的相应数据类型array<binary>,在该字段中输array<string>入、或。array<int>

  8. 选择更新

  9. 重复之前的步骤,将其他 set 类型转换为 array 类型。

  10. 选择保存