Spark应用——进行字数统计

本文通过Spark展示了如何分析非结构化文本数据,以统计莎士比亚全集中高频词。首先创建数据结构,然后对词进行处理,去除标点符号并统一大小写,再利用groupBy进行词频统计,最终展示出现次数最多的词。
摘要由CSDN通过智能技术生成

非结构性的文本数据在数据分析中越来越重要,Spark是分析这类型数据一个优秀的工具。这里我们构建一个简单的计数应用来统计莎士比亚全集中的高频词。该应用可以被扩展到更大规模的应用,例如统计维基百科中的高频词。

我们首先用python的元组列表和sqlContext.createDataFrame方法来构建数据结构,然后打印它的类型和架构。

wordsDF = sqlContext.createDataFrame([('cat',), ('elephant',), ('rat',), ('rat',), ('cat', )], ['word'])
wordsDF.show()
print type(wordsDF)
wordsDF.printSchema()

现在我们建立一个新的数据结构,为每个词加上‘s’,使之成为复数。

from pyspark.sql.functions import lit, concat
pluralDF = wordsDF.select(concat(wordsDF.word, lit('s')).alias('word'))
pluralDF.show()

我们使用测试代码看上述操作是否正确

from databricks_test_helper import Test
Test.assertEquals(pluralDF.first()[0], 'cats', 'incorrect result: you need to add an s')
Test.
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值