将
我有一个带有parquet文件的文件夹。
如何全部读取它们并转换为1个大TXT文件?
我正在使用parquetjs
库来读取1个文件:
(
async () => {
// create new ParquetReader that reads from 'fruits.parquet`
let reader = await parquet.ParquetReader.openFile('fruits.parquet');
// create a new cursor
let cursor = reader.getCursor();
// read all records from the file and print them
let record = null;
while (record = await cursor.next()) {
console.log(record);
}
}
) ();
需要帮助一次读取几个文件并组合它们。
- 将
aynsc
函数转换为filename
参数。使函数返回record
- 创建
filename
的数组 - 使用
Array.map
将filename
数组转换为Promise
数组 - 使用
Promise.all
等待读取所有文件 - 使用
String.join
将所有record
S组合到一个字符串中
将async
函数转换为filename
将async
文件转换为filename
参数
const readFile = async(filename) => {
let reader = await parquet.ParquetReader.openFile(filename);
let cursor = reader.getCursor();
let record = '';
let currentContent = '';
while (currentContent = await cursor.next()) {
record += currentContent;
}
return record;
};
阅读并组合所有文件
const filenames = ['f1.parquet', 'f2.parquet', 'f3.parquet'];
const readPromises = filenames.map(f => readFile(f));
const allPromises = Promise.all(readPromises);
// Read and combine
allPromises.then(contentsArray => contentsArray.join('n'))
.then(joinedContent => console.log(joinedContent))
.catch(console.error);