AWS Spectrum为AWS Glue生成的镶木地板文件提供空白结果

时间:2017-11-13 09:17:50

标签: amazon-s3 parquet aws-glue amazon-redshift-spectrum

我们正在使用AWS Glue构建ETL。为了优化查询性能,我们将数据存储在apache镶木地板中。一旦数据以镶木地板格式保存在S3上。我们使用AWS Spectrum来查询该数据。

我们在开发AWS账户上成功测试了整个堆栈。但是当我们搬到我们的生产AWS账户时。我们遇到了一个奇怪的问题。当我们查询返回的行时,但数据为空。 enter image description here

虽然计数查询返回了一个很好的数字 enter image description here

在进一步调查中,我们了解了开发中的apache镶嵌文件AWS账户是RLE编码的,生产AWS账户中的文件是BITPACKED编码的。为了使这种情况更强,我想将BITPACKED转换为RLE并查看我是否能够查询数据。

我对镶木地板文件很新,并且无法为转换编码找到很多帮助。任何人都可以帮我解决这个问题。

目前我们的主要嫌疑人是不同的编码。但如果你能猜到任何其他问题。我很乐意探索各种可能性。

1 个答案:

答案 0 :(得分:0)

我们发现配置错误。我们的外部表的列名和AWS Glue中指定的列名不一致。我们修复了这个问题,现在能够查看数据。我对AWS Spectrum部分的缺陷不会给出相应的错误消息。