【pyspark】jieba 中文分词

:jieba分词包

https://github.com/fxsjy/jieba

:python安装

pip install jieba

:测试

import jieba
seg_list = jieba.cut("我来到北京清华大学", cut_all=True)
print("Full Mode: " + "/ ".join(seg_list))
:启动pyspark

bin\pyspark

:文件内容(utf-8)

Spark 是一种与 Hadoop 相似的开源集群计算环境,但是两者之间还存在一些不同之处,这些有用的不同之处使 Spark 在某些工作负载方面表现得更加优越,换句话说,Spark 启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载。
Spark 是在 Scala 语言中实现的,它将 Scala 用作其应用程序框架。与 Hadoop 不同,Spark 和 Scala 能够紧密集成,其中的 Scala 可以像操作本地集合对象一样轻松地操作分布式数据集。
尽管创建 Spark 是为了支持分布式数据集上的迭代作业,但是实际上它是对 Hadoop 的补充,可以在 Hadoo 文件系统中并行运行。通过名为 Mesos 的第三方集群框架可以支持此行为。Spark 由加州大学伯克利分校 AMP 实验室 (Algorithms, Machines, and People Lab) 开发,可用来构建大型的、低延迟的数据分析应用程序。

:中文分词并保持到文件中

import jieba
from __future__ import print_function

print_me = lambda line: print("{0}".format(line))

textFile = sc.textFile("G:/temp/data/spark-news.txt")
textFile.count
textFile.foreach(lambda line:print(line.encode("gb2312")))

def printCH(line):
   words=line.encode("gb2312")
   print(words)
   seg_list = jieba.cut(words, cut_all=True)
   print("Full Mode: " + "/ ".join(seg_list).encode("gb2312"))

textFile.foreach(printCH)

def splitCH(line):
   seg_list = jieba.cut(line, cut_all=True)
   return "/ ".join(seg_list)

textFile.map(splitCH).saveAsTextFile("G:/temp/data/ch")







你可能感兴趣的:(python)