Node.js AWS雅典娜可以';t使用快速压缩读取拼花地板文件

Node.js AWS雅典娜可以';t使用快速压缩读取拼花地板文件,node.js,lambda,compression,amazon-athena,snappy,Node.js,Lambda,Compression,Amazon Athena,Snappy,我在nodejs中创建了一个AWS lambda,所以我使用一个库将json转换为拼花文件 此库没有自己的压缩方法,因此在创建拼花地板文件后,我尝试使用google snappy库对其进行压缩: next => { snappy.compress(fs.readFileSync(parquetFile.name), (err, compressed) => { next(err, compressed) }) }, (compr

我在nodejs中创建了一个AWS lambda,所以我使用一个库将json转换为拼花文件

此库没有自己的压缩方法,因此在创建拼花地板文件后,我尝试使用google snappy库对其进行压缩:

next => {
      snappy.compress(fs.readFileSync(parquetFile.name), (err, compressed) => {
        next(err, compressed)
      })
    },
    (compressed, next) => {
      const parquetS3File = new S3File(config.parquet.bucket, Tools.createPutKey(config.parquet.prefix, s3ObjectKey))
      parquetS3File.body = compressed
      parquetS3File.upload(err => {
        parquetFile.removeCallback()
        next(err)
      })
    }
但是,当我试图在雅典娜中进行一些查询时,我遇到了下一个错误

HIVE_CANNOT_OPEN_SPLIT: Error opening Hive split s3://bucket-example/data/parquet_node/year=2018/month=04/day=18/hour=18/minute=47/file.snappy.parquet (offset=0, length=11716266): can not read class parquet.format.FileMetaData: don't know what type: 15

This query ran against the "test" database, unless qualified by the query. Please post the error message on our forum or contact customer support with Query Id: 3b3a2df1-b202.
另一方面,当我不压缩数据时,雅典娜可以读取文件

诸如此类:

next => {
          const parquetS3File = new S3File(config.parquet.bucket, Tools.createPutKey(config.parquet.prefix, s3ObjectKey))
          parquetS3File.body = fs.readFileSync(parquetFile.name)
          parquetS3File.upload(err => {
            parquetFile.removeCallback()
            next(err)
          })
        }
所以,问题是:在创建拼花地板文件(使用snappy)之后,有没有任何方法可以压缩它


谢谢

这是雅典娜已知的问题(普雷斯托)