PySpark如何读取具有多种编码字符串的文件

ish

我正在编写一个python spark实用程序来读取文件并进行一些转换。文件包含大量数据(最大12GB)。我使用sc.textFile创建一个RDD,逻辑是将RDD中的每一行传递给一个map函数,该函数依次用“,”分隔该行,并运行一些数据转换(根据映射更改字段值)。

文件中的示例行。0014164,02,031270,09,1,,0,0,0000000000,134314,移动电话,ce87862158eb0dff3023e16850f0417a-cs31,584e2cd63057b7ed,Privé,八卦

由于值为“Privé”,我得到了UnicodeDecodeError。我尝试遵循以下方法来解析此值:

if isinstance(v[12],basestring):
            v[12] = v[12].encode('utf8')
        else:
            v[12] = unicode(v[12]).encode('utf8')

但是,当我将数据写回到文件中时,此字段将转换为“Priv�”。在Linux上,源文件类型显示为“ ISO-8859文本,具有很长的行,带有CRLF行终止符”。

有人可以让我知道在Spark中使用混合编码读取/写入文件的正确方法。

零323

您可以在呼叫时设置use_unicode它将为您提供对象(Python 2.x)或对象(Python 3.x)的RDD,这些对象可以使用所需的编码进行进一步处理,例如FalsetextFilestrbytes

sc.textFile(path, use_unicode=False).map(lambda x: x.decode("iso-8859-1"))

如果那还不够,可以使用以下数据按原样加载数据 binaryFiles

sc.binaryFiles(path).values().flatMap(lambda x: x.decode("iso-8859-1").splitlines())

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在文件内容中编码字符串?

来自分类Dev

如何根据json文件正确编码字符串?

来自分类Dev

在C#中读取CSV文件时出现编码字符串问题

来自分类Dev

从文本文件读取时无法正确编码字符串(编码为sha256 ...)

来自分类Dev

如何通过图像的Base64编码字符串识别文件类型

来自分类Dev

如何忽略“登录Android Studio”中的所有硬编码字符串?

来自分类Dev

如何在Angularjs中编码字符串?

来自分类Dev

如何在Eclipse中编码字符串?

来自分类Dev

如何在Android中制作编码字符串?

来自分类Dev

如何在urlopen中正确编码字符串?

来自分类Dev

如何在urlopen中正确编码字符串?

来自分类Dev

如何在SQL CHAR中编码字符串

来自分类Dev

如何使浏览器将“%0A”读取为一个纯字符串,而不是编码字符

来自分类Dev

编码和解码字符串

来自分类Dev

URL编码字符串

来自分类Dev

编码字符串数组

来自分类Dev

PHP中的编码字符串

来自分类Dev

从strftime编码字符串

来自分类Dev

URL编码字符串

来自分类Dev

编码和解码字符串

来自分类Dev

使用 Python 编码字符串

来自分类Dev

仅使用PHP的可能的最短编码字符串,具有解码的可能性(缩短url)

来自分类Dev

如何从文件读取到具有字符串键和元组值的字典?

来自分类Dev

如何读取具有特定字符串的文件的最后 n 行?

来自分类Dev

Python-unicode字符串中的ASCII编码字符串;如何删除“ u”?

来自分类Dev

如何将文件列表作为 utf8 编码字符串获取到 gnuplot 中?

来自分类Dev

如何在没有硬编码字符串的情况下打印函数名称?

来自分类Dev

字符串编码的多种方法?

来自分类Dev

C ++:具有多种语言的字符串

Related 相关文章

热门标签

归档