val arrayRdd = spark.sparkContext.textFile("/dmLink/domain/").collect()
for(myDomain <- arrayRdd){
println("*********************************" + myDomain)
})
如果你看到这里还想用java来写的话,你这是在钻牛角尖,
希望了解一些scala,因为在大数据领域,java和它不能比。scala生来处理大数据。
没错就这些代码就搞定了,由此可见spark的强大能力,你不需要用java构建读取流,不仅代码多而且容易出错,看我上面的代码多简单! spark读取的时候会有sparkrdd 和sparkDataframe 两种形式,前者是针对具体的数据,所以逐行就是用的rdd,后者是将数据抽象为表格的形式所以不符合你的要求。
学spark 多看看map mapPartion() spark是链条式的处理 对于一条数据你可以在map里面转化成对象,也可以对某个字段进行你想要的逻辑处理,然后到下一个map,一直的流动,可以说很简单,在数据处理方便它得天独厚,目前来说还没有可以和它相提并论的东西。
希望spark的机器学习库能够增加 深度学习的框架,啊啊。python对机器学习的资料资源很多,scala还是少了点。说实话scala确实很不错,但是和python相比确实难了点,增加学习难度。但是性能的话scala确实很好,毕竟在java的基础上做了很多的改进。就目前来说scala开发工程师在我国还是有些小众的,但是在美国scala开发者薪酬很高。 一些学习java的学起来scala都难受,尤其是它对于继承什么的增加了一些小细节。 但是scala在很多方便比java方便。比如java无法switch case 类,但是scala 模式匹配是可以的。大家自己感受吧! 有什么为题可以留言给我。 (2019-0-16)