【发布时间】:2017-05-16 10:36:27
【问题描述】:
我正在尝试使用 pyspark 从 HDFS 获取文件后修改我的文件,然后我想将其保存在 HDFS 中,因为我在下面的代码中编写了该文件。 p>
代码:
import subprocess
from subprocess import Popen, PIPE
from pyspark import SparkContext
cat = sc.textFile("/user/root/parsed.txt")
hrk = "@"
for line in cat.collect():
if (code == "ID"):
line =line.strip() + "|"+hrk
line.saveAsTextFile("/user/root/testsprk")
print(line)
但是当我运行代码时,我遇到了错误。
错误:
Traceback (most recent call last):
File "<stdin>", line 30, in <module>
AttributeError: 'unicode' object has no attribute 'saveAsTextFile'
我知道我的 line 变量存在一些问题,但我无法修复它。
【问题讨论】:
-
line是一个unicode字符串。它没有saveAsTextFile方法,这从错误消息中应该很明显。而是打开文件进行写入并在那里写入字符串。
标签: python hadoop apache-spark pyspark rdd