gpt4 book ai didi

java - 使用 Spark 读取整个文件

转载 作者:行者123 更新时间:2023-12-02 05:39:26 26 4
gpt4 key购买 nike

我正在尝试使用 Spark 将文件所有行的长度相加。这些行的格式如下:

A1004AX2J2HXGL\tB0007RT9LC\tMay 30, 2005\t3\n\t4\t5.0\tLes carottes sont cuites 

为了实现我的目标,我尝试了 documentation 中给出的代码:

JavaRDD<String> txtFile = sc.textFile(filePath);
JavaRDD<Integer> linesLength = txtFile.map(s -> s.length());
long totalLength = linesLength.reduce((a, b) -> a+b);

但是,它不起作用。例如,对于 5.8GB 文本文件,它应返回 5897600784,但返回 1602633268。我想这是因为某些行可能包含奇怪的字符,这会停止该行的读取。

对于古老的 Java,这个问题可以通过 BufferedReader 来解决,就像 this case 中那样。 。但是,我在文档中没有发现 Spark 的类似内容。

我该如何继续?

最佳答案

我知道您已经至少找到了部分问题并回答了问题,但我想指出另一个问题:您正在计算此 Spark 代码中的字符,但听起来像您正在尝试查找文件大小(以字节为单位)。这些根本不一定是同一件事。

关于java - 使用 Spark 读取整个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24635230/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com