saveAsNewHadoopAPI 亂碼

在使用saveAsNewHadoopAPI將數據保存到hdfs中,打開生成的文件看到是亂碼:java

出現了不少的點點和問號之類的亂碼,漢字中還夾着莫名其妙的符號,java中代碼是這麼寫的:mongodb

onePair.saveAsNewAPIHadoopFiles(
        "A",
        "A",
        Object.class,
        BSONObject.class,
        BSONFileOutputFormat.class
);

這是按照bson的輸出格式輸出的,爲了確認是不是亂碼,我在網上查了不少資料,mongo-hadoop-connector.jar中只有兩種輸出格式,一種是BSONFileOutputFormat,另外一種是MongoOutputFormat,用法不一樣,bson是寫成文件的形式存到hdfs中,mongo那個是以mongodb數據庫的格式存到mongodb的數據庫中,因此這裏只能用bson那個,接着又查了不少資料,都沒有確認這樣的數據是不是正常的,後來我想到一個辦法,使用mongodump來驗證,由於mongodump出來的數據就是 .bson 格式,若是mongodump出的數據顯示跟hdfs中同樣的話,那就應該是正常的了,後來果真跟我想的同樣數據庫

 

總結,.bson文件是二進制的,若是用ue或editplus打開那就是亂碼,在服務器上打開也是亂碼,可是亂碼不必定就是錯誤的,這點得記住了服務器

相關文章
相關標籤/搜索