首先数据源是sql server
考虑使用JDBC进行读取
Spark内置了DataFrameReader进行数据表或者子查询映射成DataFrame对象
的方法,现在假设这个表很大,如果一次性完成读取及转化内存会挂掉
有没有很好的方法进行数据读取及后续分析。
这里希望回答能够使用Scala API给出,或者实在没有Java也行个人之前完成这种数据库读取的任务是使用python pandas read_sql
由于其支持返回进行读取的迭代器,可以之后对迭代器进行遍历得到相应
的文件并进行本地化。
这里采用分割的方法也是为了后续的处理可以并行,之后再"reduce"成一个
结果
相应示例代码见
http://blog.csdn.net/sinat_30665603/article/details/72794256不知道相同的实现在Spark中如何实现。个人倾向于将数据从数据库调出本地化(serialize)为对象后进行统一
地操作的方法。(最好不用SQL)
其中不妥的地方往指正。能否给出类似的用Scala Spark的逻辑进行操作的方式,希望能较大程度
地利用多核并行的优势,至少要比上面链接中设计的python脚本要快。有没有相关的数据处理的好书能够推荐一下吗?最好是英文的。
谢谢
考虑使用JDBC进行读取
Spark内置了DataFrameReader进行数据表或者子查询映射成DataFrame对象
的方法,现在假设这个表很大,如果一次性完成读取及转化内存会挂掉
有没有很好的方法进行数据读取及后续分析。
这里希望回答能够使用Scala API给出,或者实在没有Java也行个人之前完成这种数据库读取的任务是使用python pandas read_sql
由于其支持返回进行读取的迭代器,可以之后对迭代器进行遍历得到相应
的文件并进行本地化。
这里采用分割的方法也是为了后续的处理可以并行,之后再"reduce"成一个
结果
相应示例代码见
http://blog.csdn.net/sinat_30665603/article/details/72794256不知道相同的实现在Spark中如何实现。个人倾向于将数据从数据库调出本地化(serialize)为对象后进行统一
地操作的方法。(最好不用SQL)
其中不妥的地方往指正。能否给出类似的用Scala Spark的逻辑进行操作的方式,希望能较大程度
地利用多核并行的优势,至少要比上面链接中设计的python脚本要快。有没有相关的数据处理的好书能够推荐一下吗?最好是英文的。
谢谢
解决方案 »
- 关于搭建openstack的一个问题,新手求指导
- IT资料在线合集(2013)
- 云存储免费的背后
- 使用neutron创建了一个router,可是网关端口总是down
- 使用collect函数时出现java.lang.ClassCastException: cannot assign instance of
- 搭建ipv6转ipv4的代理服务器
- Docker安装后运行出错误提示
- docker容器内提示Permission denied,这个权限问题怎么解决?
- 年末该感谢的人是?华为云12.12卷来一股回馈风
- vmware workstaion 14中安装ESXi6.7后,在ESXi安装虚拟机连不上网问题[急]
- 用spark处理小规模数据是不是效率很低?
- 采用scala提取column中的二维数组
来完成,其基本上就是一个迭代器。
但是还是请教一下 推荐的书目及处理方法。
http://blog.csdn.net/sinat_30665603/article/details/74161591但是 分回不来了有没有推荐书目的
有好书给分偶
请参考
如果内存溢出,请加大并行,把读入的数据分摊到多个机器上,溢出的几率就会下降.
关注一下文章中 下推优化 那部分,其实读入数据时是可以提前过滤一部分数据的,这也许对你有帮助