我们正在使用 AWS Glue 构建 ETL。为了优化查询性能,我们将数据存储在 apache parquet 中。一旦数据以镶木地板格式保存在 S3 上。我们正在使用 AWS Spectrum 来查询该数据。
我们成功地在我们的开发 AWS 账户上测试了整个堆栈。但是当我们转移到我们的生产 AWS 账户时。我们遇到了一个奇怪的问题。当我们查询时返回行,但数据是空白的。
经过进一步调查,我们了解到开发 AWS 账户中的 apache parquet 文件是 RLE 编码的,而生产 AWS 账户中的文件是 BITPACKED 编码的。为了使这种情况更强大,我想将 BITPACKED 转换为 RLE 并查看我是否能够查询数据。
我对镶木地板文件很陌生,在转换编码方面找不到太多帮助。任何人都可以告诉我这样做的方法。
目前我们的主要怀疑是不同的编码。但如果你能猜到任何其他问题。我很乐意探索各种可能性。