arrowTable = {
console.log('attempting to read meta from multiple-row group parquet')
const parquetContentLength = await fetch(localUrl, {method: 'HEAD'}).then(r => r.headers.get('Content-Length'));
console.log(parquetContentLength);
const parquetMeta = await parquet.readMetadataAsync(localUrl, parquetContentLength);
console.log(parquetMeta);
const arrowSchema = parquetMeta.arrowSchema();
const rowGroupCount = parquetMeta.numRowGroups();
console.log(rowGroupCount);
const chunks = [];
for(let i = 0; i < rowGroupCount; i++) {
const rowGroupMeta = parquetMeta.rowGroup(i);
console.log(`${i} of ${rowGroupCount}`);
chunks.push(await parquet.readRowGroupAsync(localUrl, rowGroupMeta, arrowSchema.copy()));
}
const recordBatchChunks = chunks.map(arrow.tableFromIPC);
console.log(recordBatchChunks[0]);
console.log('constructing table');
const constructedTable = new arrow.Table(recordBatchChunks.slice(0, 20))
return arrow.tableFromIPC(arrow.tableToIPC(constructedTable));
}