读取pyspark中有几行的文件

时间:2017-09-28 13:56:49

标签: apache-spark pyspark

我有一个文件有这样的几行:

(lp0
I200
aV<!DOCTYPE HTML

当我在python中读取此文件时,文件按原样读取,如下所示:

(lp0
I200
aV<!DOCTYPE HTML

但是当我在pyspark中读到它时,我得到了以下值:

(lp0\nI200\naV<!DOCTYPE HTML

如何将pyspark的输出读取为其原始值。 我读了这个文件:

rdd = sc.wholeTextFiles("file:///home/hadoopuser/gc/data_from_gc/part-04068",use_unicode=False)

提前致谢。

1 个答案:

答案 0 :(得分:2)

您的系统可能正确地读取文件,在这两种情况下......在这两种情况下,它几乎肯定包含&#39; \ n&#39; (换行符)字符(即使你没有看到它们)。

例如,在Python中,如果您使用print()函数,任何带有换行符的文本都会显示在屏幕上,但您不会看到实际的字符,您只需看到文本,文字包装,如上图所示。

在某些工具中,如果你显示计算的输出,PySpark可能是其中之一(再次,没有看到你的代码),即通过在命令行上使用Python提示评估Python语句而不是打印文本,结果可以作为变量的字符串表示显示在屏幕上,它将显示换行符。

注意:如果您向我们提供相应的代码片段,我们可以尝试查看问题出在哪里并提供更好的解决方案。

例如:

In [4]: h = 'hello\nworld!'

In [5]: h                # Here we are simply evaluating the Python Statement
Out[5]: 'hello\nworld!'

In [6]: print(h)         # Here we are printing the content of h
hello
world!