split函数使用的一个小故障

《Spark快速大数据分析》书中一个例子 功能是把文本每行分割成单词组,并且去掉空行

val  input = sc.textFile("input.txt")
val tokenized = input.map(line=>line.split(" ").filter(words=>words.size>0)

上面操作咋看好像没有问题,但是运行不能去除空行,原因出在split函数

scala> "".split(" ")
res50: Array[String] = Array("")
scala> "".split(" ").size
res51: Int = 1

空行""分割后得到Array("")size是1不是0,这样就不能去除空行的目的,只要把filter

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏无题

堆外内存概要

DirectByteBuffer JDK中使用 DirectByteBuffer对象来表示堆外内存,每个 DirectByteBuffer对象在初始化时,都会创...

2494
来自专栏黑泽君的专栏

为什么JAVA对象需要实现序列化?

821
来自专栏偏前端工程师的驿站

Java魔法堂:类加载机制入了个门

一、前言                                 当在CMD/SHELL中输入 $ java Main<CR><LF> 后,Main程序...

2107
来自专栏Leetcode名企之路

jvm类加载机制

类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载七个阶段。

1333
来自专栏大内老A

如何在EHAB(EntLib)中定义”细粒度”异常策略?

为了解决EntLib的EHAB(Exception Handling Application Block)只能在异常类型级别控制异常处理策略的局限,我在很久之前...

1879
来自专栏Java技术栈

设计模式之动态代理模式实战

昨天分享了静态代理的概念及存在的缺点,所以今天讲的动态代理模式十分重要。动态代理在我们工作当中应用相当广泛,如Srping AOP就是动态代理的在开源框架的比较...

3524
来自专栏java系列博客

深入理解Java内存模型(二)——重排序

2194
来自专栏PHP在线

开发常用知识点

php允许传递任意个参数: function getArg($a="",$b=""){ echo "one:".$a."<br/>"; echo "two"...

41014
来自专栏java一日一条

【Java并发编程】使用wait/notify/notifyAll实现线程间通信的几点重要说明

在 Java中,可以通过配合调用Object对象的wait()方法和notify()方法或notifyAll()方法来实现线程间的通信。在线程中调用 wait(...

943
来自专栏向治洪

java基础Haep(堆)和Stack(栈)区别

简单的可以理解为: heap:是由malloc之类函数分配的空间所在地。地址是由低向高增长的。  stack:是自动分配变量,以及函数调用的时候所使用的一些空...

2207

扫码关注云+社区

领取腾讯云代金券