1.环境搭建完成1

2.相关的工具类编写完成1
3.配置文件管理类编写完成1
zxr
劝酒千百 9 months ago
parent 0af0f9bd61
commit 4089d89827

@ -4,7 +4,7 @@
<option name="autoReloadType" value="ALL" />
</component>
<component name="ChangeListManager">
<list default="true" id="a7505764-040b-48e2-b2fc-8c5b579e595f" name="Default" comment="1.环境搭建完成&#10;2.相关的工具类编写完成11&#10;3.配置文件管理类编写完成11">
<list default="true" id="a7505764-040b-48e2-b2fc-8c5b579e595f" name="Default" comment="1.环境搭建完成11&#10;2.相关的工具类编写完成11&#10;3.配置文件管理类编写完成11">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/cn/edu/hust/session/UserVisitAnalyze.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/cn/edu/hust/session/UserVisitAnalyze.java" afterDir="false" />
</list>
@ -477,7 +477,7 @@
<workItem from="1734349398416" duration="1738000" />
<workItem from="1734352550638" duration="1153000" />
<workItem from="1734354068325" duration="860000" />
<workItem from="1734354940766" duration="2406000" />
<workItem from="1734354940766" duration="3411000" />
</task>
<task id="LOCAL-00001" summary="1.环境搭建完成&#10;2.相关的工具类编写完成&#10;3.配置文件管理类编写完成">
<created>1529592741848</created>
@ -549,7 +549,15 @@
<option name="project" value="LOCAL" />
<updated>1734354969705</updated>
</task>
<option name="localTasksCounter" value="10" />
<task id="LOCAL-00010" summary="1.环境搭建完成11&#10;2.相关的工具类编写完成11&#10;3.配置文件管理类编写完成11">
<option name="closed" value="true" />
<created>1734357525655</created>
<option name="number" value="00010" />
<option name="presentableId" value="LOCAL-00010" />
<option name="project" value="LOCAL" />
<updated>1734357525655</updated>
</task>
<option name="localTasksCounter" value="11" />
<servers />
</component>
<component name="TestHistory">
@ -671,7 +679,8 @@
<MESSAGE value="1.环境搭建完成&#10;2.相关的工具类编写完成111&#10;3.配置文件管理类编写完成1111" />
<MESSAGE value="1.环境搭建完成&#10;2.相关的工具类编写完成&#10;3.配置文件管理类编写完成" />
<MESSAGE value="1.环境搭建完成&#10;2.相关的工具类编写完成11&#10;3.配置文件管理类编写完成11" />
<option name="LAST_COMMIT_MESSAGE" value="1.环境搭建完成&#10;2.相关的工具类编写完成11&#10;3.配置文件管理类编写完成11" />
<MESSAGE value="1.环境搭建完成11&#10;2.相关的工具类编写完成11&#10;3.配置文件管理类编写完成11" />
<option name="LAST_COMMIT_MESSAGE" value="1.环境搭建完成11&#10;2.相关的工具类编写完成11&#10;3.配置文件管理类编写完成11" />
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/src/main/java/cn/edu/hust/conf/ConfigurationManager.java">

@ -174,42 +174,79 @@ public class UserVisitAnalyze {
commonFullClickInfoRDD.persist(StorageLevel.DISK_ONLY());
//session聚合统计统计出访问时长和访问步长的各个区间所占的比例
/**
*
* 1RDD
*
* 2sesion
*
* 3session访访
*
* 4Accumulator
*
* Spark
*
* 1RDD
*
* 2RDD
*
* 3RDDshufflegroupBykeyreduceBykeysortByKey
*
* shuffle
* shuffleshuffle
* shuffle
*
* 4
*
*
*
*
*/
/**
* 使CountByKey
*/
//调用 randomExtractSession 方法实现随机抽取功能。
randomExtractSession(taskId,filteredSessionRDD,sessionInfoPairRDD);
//在使用Accumulutor之前需要使用Action算子否则获取的值为空这里随机计算
//filteredSessionRDD.count();
//计算各个session占比,并写入MySQL
//调用 calculateAndPersist 方法计算并持久化聚合统计结果。
calculateAndPersist(sessionAggrStatAccumulator.value(),taskId);
//获取热门品类数据Top10
//调用 getTop10Category 方法获取热门品类数据Top10
List<Tuple2<CategorySortKey,String>> top10CategoryIds=getTop10Category(taskId,commonFullClickInfoRDD);
//获取热门每一个品类点击Top10session
//调用 getTop10Session 方法获取热门品类点击Top10Session。
getTop10Session(context,taskId,sessionInfoPairRDD,top10CategoryIds);
//关闭spark上下文
//关闭Spark上下文释放资源
context.close();
}
/**
*
* SparkSpark
* Spark
*
* Session
*
*
*
* Spark
* 访
*/
@ -218,25 +255,67 @@ public class UserVisitAnalyze {
* @param sc
* @return
*/
//getSQLContext 方法
public static SQLContext getSQLContext(SparkContext sc)
{
//通过 ConfigurationManager 获取配置项 SPARK_LOCAL判断是否运行在本地模式下。
boolean local= ConfigurationManager.getBoolean(Constants.SPARK_LOCAL);
//判断是否为本地模式:
//如果是本地模式,则返回一个新的 SQLContext 实例。
// SQLContext 用于执行传统的SQL查询。
if(local)
{
return new SQLContext(sc);
}
//返回HiveContext
//如果不是本地模式,则返回一个新的 HiveContext 实例。
// HiveContext 用于与Hive集成执行Hive查询。
return new HiveContext(sc);
}
/**
*
* Hive SPARK_LOCAL SQLContext HiveContextSPARK_LOCAL true
* SQLContextSQL
* SPARK_LOCAL false HiveContextHiveHive
* 使 ConfigurationManager
*
* ConfigurationManager.getBoolean 便
* @param context
* @param sc
*/
//mock 方法
private static void mock(JavaSparkContext context,SQLContext sc)
{
//获取配置项:
//通过 ConfigurationManager
// 获取配置项 SPARK_LOCAL判断是否运行在本地模式下。
boolean local= ConfigurationManager.getBoolean(Constants.SPARK_LOCAL);
//判断是否为本地模式:
//如果是本地模式,则调用 MockData.mock 方法生成模拟数据。
if(local)
{
MockData.mock(context,sc);
}
}
/**
*
* SPARK_LOCAL
* SPARK_LOCAL true MockData.mock Spark
* MockData.mock
* RDDDataFrame便使
* 便
*/
/**
*

Loading…
Cancel
Save