实战概览
一、项目简介
1. 需求
如今我们已经离不开没有电商的生活,在上面购物后会做出相应的评价,电商会为那些评价打上标签,比如这样:
通过评价抽取标签有多种方法,有人工方法抽取,机器抽取等等,现标签已经由机器抽取生成,要对其聚合以标签出现的频次作为参考依据,作为该商家的评论标签。
2. 内容
分析原始的用户评价数据,分析并清洗数据,得到用户的评价标签,并选出每个商家评价最多的10评价标签价作为该商家的展示标签。本次会使用Spark进行数据的处理,体验Spark算子处理数据的便捷与魅力。
二、项目的开发环境
1. Spark版本:spark-2.2.0-bin-2.6.0-cdh5.7.0
2. JDK版本1.8,Scala版本2.11
3. 开发工具为IDEA2018
三、项目代码编写
1. 项目搭建
(1). 构建Scala工程,添加Maven支持,创建包目录:
(2). 添加完整依赖
<properties>
<scala.version>2.11.8</scala.version>
<spark.version>2.2.0</spark.version>
</properties>
<repositories>
<repository>
<id>cloudera</id>
<url>https://repository.cloudera.com/artifactory/cloudera-repos</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>${
scala.version}</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.11</artifactId>
<version>${
spark.version}</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.41</version>
</dependency>
</dependencies>
<build>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>3.0.0</version>
</plugin>
<!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_jar_packaging -->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<