有关使用spark进行数据处理的问题
首先数据源是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脚本要快。
有没有相关的数据处理的好书能够推荐一下吗?最好是英文的。
谢谢