java - 使用“com.mongodb.util.JSONParseException”传输 BSON 文件时出错
问题描述
我正在尝试将 BSON 文件传输到 Hive,BSON 文件是从 MongoDB 转储的,
mongodump 命令之类的mongodump -h $host -u $user -p $password -d $db -c $collection -o $output
,
我用 jar 之类的
add jar mongo-hadoop-core-2.0.2.jar;add jar mongo-hadoop-hive-2.0.0.jar;add mongo-java-driver-3.2.2.jar;
create external table sfim_logs_dump (
id string
,ts bigint
,reqts string
)
row format serde 'com.mongodb.hadoop.hive.bsonserde'
with serdeproperties(
'mongo.columns.mapping' = '{"id":"_id","ts":"ts","reqts":"reqts"}')
stored as inputformat 'com.mongodb.hadoop.mapred.bsonfileinputformat'
outputformat 'com.mongodb.hadoop.hive.output.hivebsonfileoutputformat'
location '$hdfspath'
像这样的错误
com.mongodb.util.JSONParseException:
at com.mongodb.util.JSONParser.read(JSON.java:302)
at com.mongodb.util.JSONParser.parseObject(JSON.java:263)
at com.mongodb.util.JSONParser.parse(JSON.java:228)
at com.mongodb.util.JSONParser.parse(JSON.java:156)
at com.mongodb.util.JSON.parse(JSON.java:98)
at com.mongodb.util.JSON.parse(JSON.java:79)
at com.mongodb.hadoop.hive.BSONSerDe.initialize(BSONSerDe.java:110)
at org.apache.hadoop.hive.serde2.SerDeUtils.initializeSerDe(SerDeUtils.java:526)
请帮我解决问题?我该怎么做才能将 BSON 文件有效地传输到 Hive 中?
解决方案
推荐阅读
- android - 在 Android .aar 中包含 OpenSSL 1.1.0 .so
- android - Admob 显示横幅广告,但不显示视频(激励广告)
- npm-install - npm install using proxy 报错
- c++ - 在函数未定义参考 c++
- python - 如果 pip install -r requirements.txt 被中断,已经安装的包会被删除吗?
- google-apis-explorer - 使用具有自我用户身份验证的 Google APi 进行项目
- ios - 无法将我的 Objective-c 类的基类设置为 swift 类
- javascript - 如何使 HTML 范围输入仅在滑动时起作用?
- javascript - 悬停在省略号上时显示跨度标题
- python - python中的JSON数据验证