[英]Error reading parquet file (nodeJS)-parquetjs module
我對 nodejs 的經驗非常基礎,所以請耐心等待。 我正在嘗試編寫和讀取鑲木地板文件:
https://github.com/ironSource/parquetjs
我正在按照那里的示例(使用節點 8)並成功編寫“fruits.parquet”
但是,當我嘗試閱讀它時:
async function read() {
let reader = await parquetjs.ParquetReader.openFile('fruits.parquet');
let cursor = reader.getCursor();
let record = null;
while (record = await cursor.next()) {
console.log(record);
}
}
read();
我得到:
附上調試器。 (節點:14795)[DEP0062] 棄用node --inspect --debug-brk
:不推薦使用node --inspect --debug-brk
。 請改用node --inspect-brk
。 (節點:14795)UnhandledPromiseRejectionWarning:未處理的承諾拒絕(拒絕ID:1):錯誤:讀取失敗(節點:14795)[DEP0018] DeprecationWarning:不推薦使用未處理的承諾拒絕。 將來,未處理的承諾拒絕將使用非零退出代碼終止 Node.js 進程。 等待調試器斷開連接..
任何如何調試這個的想法 - 它發生在 openFile('fruits.parquet') 我知道文件存在,我也試圖確保對文件上的所有內容進行讀/寫訪問。
謝謝。
parquetjs.ParquetReader.openFile('fruits.parquet');
導致被拒絕的承諾(可能文件位置不正確)。
問題是錯誤沒有被處理並且以某種方式“吞下”
嘗試捕獲錯誤以正確調試它:
try {
let reader = await parquetjs.ParquetReader.openFile('fruits.parquet');
} catch (e){
console.log(e); // or breakpoint, etc
throw e;
}
這個答案不完全是關於調試您的問題,而是替代解決方案。 要打開本地文件,我使用以下代碼與parquetjs-lite包,希望這有點有用。 此外,parquetjs-lite 有助於讀取 s3 存儲桶文件
const parquet = require("parquetjs-lite");
const readParquetFile = async () => {
// create new ParquetReader
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);
}
await reader.close();
}
並且不要忘記在最后關閉閱讀器。
我是回答 stackoverflow 的新手,所以如果它沒有用,請忽略。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.