hyparquet-compressors/test/lz4.test.js

51 lines
2.0 KiB
JavaScript
Raw Normal View History

2024-05-19 23:21:38 +00:00
import fs from 'fs'
import { parquetRead, toJson } from 'hyparquet'
import { describe, expect, it } from 'vitest'
import { compressors } from '../src/index.js'
describe('lz4 compressor', () => {
2024-05-20 04:09:36 +00:00
it('read lz4 compressed parquet file hadoop_lz4_compressed', async () => {
2024-05-20 00:54:01 +00:00
const buffer = fs.readFileSync('test/files/hadoop_lz4_compressed.parquet')
const file = new Uint8Array(buffer).buffer
2024-05-20 04:09:36 +00:00
const expected = fs.readFileSync('test/files/lz4_compressed.json').toString()
2024-05-20 00:54:01 +00:00
await parquetRead({ file, compressors, onComplete: data => {
expect(data.length).toBe(4)
expect(toJson(data)).toEqual(JSON.parse(expected))
} })
})
2024-05-20 04:09:36 +00:00
it('read lz4 compressed parquet file hadoop_lz4_compressed_larger', async () => {
const buffer = fs.readFileSync('test/files/hadoop_lz4_compressed_larger.parquet')
const file = new Uint8Array(buffer).buffer
const expected = fs.readFileSync('test/files/hadoop_lz4_compressed_larger.json').toString()
await parquetRead({ file, compressors, onComplete: data => {
expect(data.length).toBe(10000)
expect(toJson(data)).toEqual(JSON.parse(expected))
} })
})
it('read lz4 compressed parquet file lz4_raw_compressed', async () => {
const buffer = fs.readFileSync('test/files/lz4_raw_compressed.parquet')
const file = new Uint8Array(buffer).buffer
const expected = fs.readFileSync('test/files/lz4_compressed.json').toString()
await parquetRead({ file, compressors, onComplete: data => {
expect(data.length).toBe(4)
expect(toJson(data)).toEqual(JSON.parse(expected))
} })
})
it('read lz4 compressed parquet file non_hadoop_lz4_compressed', async () => {
2024-05-19 23:21:38 +00:00
const buffer = fs.readFileSync('test/files/non_hadoop_lz4_compressed.parquet')
const file = new Uint8Array(buffer).buffer
2024-05-20 04:09:36 +00:00
const expected = fs.readFileSync('test/files/lz4_compressed.json').toString()
2024-05-19 23:21:38 +00:00
await parquetRead({ file, compressors, onComplete: data => {
expect(data.length).toBe(4)
expect(toJson(data)).toEqual(JSON.parse(expected))
} })
})
})