首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >统计hdfs中文件记录数的代码

统计hdfs中文件记录数的代码
EN

Stack Overflow用户
提问于 2019-09-07 23:33:47
回答 1查看 54关注 0票数 0

我已经使用filesystem读取了hdfs中的一个文件,需要计算文件的记录数。你能帮助统计以下代码的文件的记录数吗?

代码语言:javascript
复制
val inputStream:FSDataInputStream = fileSystem.open(dataFile)

val data = IOUtils.toString(inputStream, "UTF-8")

inputStream.close()
EN

回答 1

Stack Overflow用户

发布于 2019-09-08 01:15:55

我假设您所说的记录计数指的是行数。

您可以使用java.io.BufferedReader逐行读取输入流,并递增计数器变量

代码语言:javascript
复制
import java.io.BufferedReader
import java.io.InputStreamReader
var count = 0
val inputStream: FSDataInputStream = fileSystem.open(dataFile)
val reader: BufferedReader = new BufferedReader(new InputStreamReader(inputStream))
var line: String = reader.readLine()

while(line!=null){
    count+=1
    line = reader.readLine()
}

或者,您也可以使用reader.lines().count()来获取行数,但是使用这种方法,您将无法重用输入流来获取行中的实际数据,因为inputstream不可重用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57835146

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档