通过 Firehose 将地图数据放入 Athena

Put Map data via Firehose to Athena

我在 Athena 中有一个地图类型的专栏。我已将 Glue 中的架构定义为 Map 。

我定义了一个 firehose 流,它引用胶合模式并将其转换为 parquet 格式。但是,我在发送数据时收到以下错误

The schema is invalid. Error parsing the schema: Error: type expected at the position 0 of 'MAP <STRING, INT>' but 'MAP ' is found.

我正在使用 boto3 firehose 客户端提交数据。

这是我试过的

records=[{'Data': '{"id": "aac4da11-d166-42bd-83db-c670f5b5676d", "createdutc": "2019-06-27 10:25:33","tokens": {"black": 1, "spot": 1, "joint": 1, "leg": 1, "due": 1, "itchinghow": 1, "reduce": 1}'}]

firehoseClient.put_record_batch(
    DeliveryStreamName='conversations-analysis',
    Records=records)

显然,我能够解决它,用小写字母提及架构中的所有内容,您应该能够保存地图数据。例如 map 而不是 MAP