Spark处理远程mongodb数据记录
来源:互联网 发布:如何做合格淘宝客服 编辑:程序博客网 时间:2024/05/19 20:57
原文连接:http://blog.csdn.net/oMrApollo/article/details/69566846
错误原因分析
报错如下:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
错误原因剖析
- 1
- 1
可以看出是splitVector权限的问题,因为Spark在拆分非分片集合时需要splitVector命令的,该命令仅限于管理员用户。mongo.input.split.create_input_splits的默认设置是true,也就是会对数据进行拆分,根据集群数,cpu核数然后将数据进行拆分成多个InputSplits,以允许Hadoop并行处理,也就是说,Hadoop为每个映射器分配一个InputSplits。
解决方法
一、
如果数据量不大的情况下可以舍弃spark的优势,将mongo.input.split.create_input_splits设置为false
- 1
- 1
这种做法虽然会解决,但是舍弃了并行的优势,因为设为false时将只有一个InputSplit,他会将整个集合分配给Hadoop,这将严重的减少并行映射。
二、
没有splitVector权限,则加上该权限。
具体方法如下:
- 1
- 1
对应ip地址,port端口号,username用户名,password密码
连接上该用户数据库后
增加新权限
- 1
- 1
dbname:数据库名称
collectionName:表名
如若报错:
- 1
- 2
- 3
- 4
- 5
- 1
- 2
- 3
- 4
- 5
说明你登录的用户名不能授予其他数据库权限,意思就是你登录错了。换一个你想改权限的数据库所对应的用户重新登陆。
成功的话则显示
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
说明新建权限成功,然后我们只需把该权限赋给对应的用户就行
- 1
- 1
配置成功后就可以解决该问题
Scala连接方法:
- 1
- 2
- 3
- 1
- 2
- 3
0 0
- Spark处理远程mongodb数据记录
- Spark处理远程mongodb数据记录
- spark处理mongodb数据(python版)
- spark sql 处理mongodb 数据库中的数据
- spark读取mongodb数据
- Mongodb 远程备份数据
- spark数据倾斜处理
- 关于MongoDB远程取数据
- 分布式sparkSQL引擎应用:从远程通过thriftServer连接spark集群处理hive中的数据
- MongoDB + Spark: 完整的大数据解决方案
- spark从mongodb导入数据到hive
- MongoDB + Spark: 完整的大数据解决方案
- MongoDB + Spark: 完整的大数据解决方案
- MongoDB + Spark: 完整的大数据解决方案
- MongoDB + Spark: 完整的大数据解决方案
- MongoDB + Spark: 完整的大数据解决方案
- spark+mongodb大数据框架搭建
- MongoDB + Spark: 完整的大数据解决方案
- 计算机底层是如何访问显卡的?
- react-native-tab-navigator
- android压力测试命令monkey详解
- servlet过滤器、监听器、struts2拦截器的区别
- Delplhi 实现Java Jar包中的Listener
- Spark处理远程mongodb数据记录
- 基于 AOP 和 Redis 实现的分布式锁
- Mac电脑本地文件转移到远程Linux服务器
- react-native-tab-navigator 拓展
- 一天搞定CSS:定位position--17
- 算法竞赛入门经典(第2版)习题2-4
- tessnet2和3版本混用后程序错误的解决
- js中cssText批量修改元素样式
- 百度地图开发(二)--定位,lbs数据查询,路径规划