当前位置: 首页 > 知识库问答 >
问题:

Hadoop流媒体有中文乱码与-files python

许俊雅
2023-03-14

我不确定“乱码”是我的问题的正确词。我的问题是这样的。我使用哈道普流-0.20.2-cdh3u6.jar和蟒蛇来编写映射还原。该命令如下所示:

hadoop jarhadoop-streaming-0.20.2-cdh3u6.jar \
 -D mapred.reduce.tasks=0 \
 -D mapred.job.priority=VERY_HIGH \
 -files probability,rule_dict,dict \
 -file "naive_bayes.py" \
 -mapper "python naive_bayes.py" \
 -input xxx \
 -output xxx

概率,rule_dict,判决是我本地存储中的目录,其中的文件包含中文单词。当我使用python读取这些文件时,我会出现错误的“乱码”。文件的一小部分:

 石块 0.000025
 最后 0.000321
 老面孔 0.000012
 GP17 0.000012
 圈 0.000136
 看个够 0.000062
 布兰 0.000062

从这些文件中读取的内容是

PB�;��W�mVKZm����e�2��U�؎��"/�1_�u�8)i~�J�N86�l}[��y8�;%(K��/P��<��F/+����=��X�n�

有办法解决我的问题吗?

我已经将相同的python脚本和相同的目录上传到映射器机器,从命令行运行它,它运行良好,没有这个问题。

文件中的单词是utf-8。

共有1个答案

苏华荣
2023-03-14

我已经找到了问题的根源。当上传带有-files的目录时,hadoop将创建.file_name。crc文件位于同一目录中,因此当我的代码迭代文件时,也将处理.file_name。crc,所以当编码这些文件中的字时,将崩溃。

 类似资料:
  • 我正试图在一些维基百科转储(以压缩的bz2形式)上运行一个带有java Mapper/Reducer的hadoop流作业。我正在尝试使用WikiHadoop,这是Wikimedia最近发布的一个界面。 WikiReader_Mapper。JAVA 维基阅读器。JAVA 我正在运行的命令是 我收到的错误信息是 我更熟悉新的hadoop API和旧的。由于我的mapper和reducer代码位于两个不

  • 我是一个初学者,试图使用spark streaming获得推文,使用Scala和一些过滤器关键字。是否有可能在流媒体之后只过滤那些没有地理定位为Null的推文?我正在尝试保存ElasticSearch中的推文。所以,在将tweet地图保存到ElasticSearch之前,我可以过滤那些带有地理定位信息的地图,然后保存它们吗?我正在使用json4s.jsondsl和tweet中的字段创建JSON。这

  • Streaming API用于通过令牌读取JSON令牌。 它将JSON内容读写为离散事件。 JsonReader和JsonWriter将数据读/写为令牌,称为JsonToken 。 它是处理JSON的三种方法中最强大的方法。 它具有最低的开销,并且在读/写操作中非常快。 它类似于XML的Stax解析器。 在本章中,我们将展示使用GSON流API来读取JSON数据。 Streaming API与to

  • 大多数 windows 平台下的 ftp服务器 使用 GB2312 编码,而 lftp 使用 UTF-8 编码,使用 lftp 访问这些服务器,中文显示为乱码。可以通过指定编码来解决 lftp >set ftp:charset gbk #设置远程编码为gbk lftp >set file:charset utf8 #设置本地编码(Linux系统默认使用 UTF-8,这一步通常可以省略) 也

  • 问题内容: 我是Django(1.4)的新手,我很难理解静态文件,媒体文件和管理文件的原理。该项目的结构从一个教程到另一个教程都是不同的,对于Webfaction(我将在其中托管应用程序)也是如此。我想知道什么是组织它的最佳方式,并且在将它部署到Webfaction时花费最少的精力和编辑,静态媒体和管理文件的意义是什么?先感谢你 问题答案: 本质上,你想在开发中使用django提供静态文件。准备好

  • 我有一个网络摄像头连接到Raspberry PI和一个web服务器,这是一个简单的python-Flask服务器。利用OpenCV捕捉网络摄像头图像,并将其格式化为JPEG格式。随后,这些JPEG被发送到服务器的一个UDP端口。到目前为止,我所做的类似于自制的MJPEG(motion-jpeg)流媒体。 在服务器端,我有一个简单的python脚本,它可以连续读取UDP端口并将JPEG图像放入HTM