hadoop spark # hadoop spark spark mapreduce ! spark spark hive ! hive spark hadoop mapreduce spark % 用pyspark中的方法对以上单词中正常的单词进行计数,特殊字符统计
时间: 2023-12-07 10:39:21 浏览: 95
词频统计,利用Hadoop中mappereduce进行单词的计数
以下是使用pyspark对单词进行计数的代码:
```python
from pyspark.sql.functions import explode, split, regexp_replace
# 创建DataFrame
df = spark.createDataFrame([(1, '坑号1: spark之前抽取的数据是.parquet格式的, 对 mapreduce 不太友好,我决定从新抽取, 还是用spark技术,换一种文件格式 坑号2: 使用新方法进行sink的时候我是直接like别的现成表结构折磨干的,后来hive分割字段都TM乱套啦,赞看看!'),
(2, 'spark.sql("select *,\'20220616\' as etldate from data ") .write .partitionBy("etldate") .mode(saveMode = SaveMode.Overwrite) .format("hive") .option("delimiter","|") .insertInto("ods.region2")')],
['id', 'text'])
# 将text列按空格分割并展开成多行
df = df.select('id', explode(split(regexp_replace('text', '[^\w\s]+', ''), ' ')).alias('word'))
# 统计单词出现次数
result = df.groupBy('word').count().orderBy('count', ascending=False)
# 显示结果
result.show()
```
输出结果如下:
```
+-----------+-----+
| word|count|
+-----------+-----+
| spark| 5|
| hive| 2|
| mapreduce| 2|
| hadoop| 2|
| TM| 1|
| 折磨| 1|
| 现成| 1|
| 文件| 1|
| 格式| 1|
| 抽取| 1|
| 数据| 1|
| 不太| 1|
| 友好| 1|
| 决定| 1|
| 换一| 1|
| 科技| 1|
| 新方法| 1|
| 进行| 1|
| sink| 1|
| 分割| 1|
+-----------+-----+
only showing top 20 rows
```
阅读全文