最简单逐行读取hdfs文件

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)

 

     


版权声明:本文为qq_36066039原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。