我正在尝试以下代码(来自parquetjs-lite和stackoverflow的示例)来读取nodejs中的Parquet文件:
const readParquetFile = async () => {
try {
// create new ParquetReader that reads from test.parquet
let reader = await parquet.ParquetReader.openFile('test.parquet');
}
catch (e){
console.log(e);
throw e;
}
// 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);
}
await reader.close();
};
当我运行此代码时,什么都没有发生。没有任何内容写入控制台,出于测试目的,我只使用了一个很小的csv文件,该文件是使用python转换为镶木地板的。
任何指针都会有所帮助。
谢谢
答案 0 :(得分:0)
可能的失败案例是
您正在某个文件中调用此函数,而没有运行Web服务器。 在这种情况下,文件将以异步模式运行,并且异步函数进入回调堆栈,并且主堆栈为空,程序将结束,即使您的调用堆栈中有代码,它也将永远不会运行或记录任何内容。
要解决此问题,请尝试运行网络服务器或更好地使用同步调用
// app.js(没有网络服务器)
const readParquetFile = async () => {
console.log("running")
}
readParquetFile()
console.log("exit")
运行上述代码时,输出将为
exit
// syncApp.js
const readParquetFile = () => {
console.log("running")
// all function should be sync
}
readParquetFile()
console.log("exit")
控制台日志将在
running
exit