20.Spark上下文构建以及模拟数据生成
来源:互联网 发布:java native的用法 编辑:程序博客网 时间:2024/06/03 17:58
目录
- 目录
- 导入模拟数据生成类
- 创建Spark作业类
本文为《Spark大型电商项目实战》 系列文章之一,主要介绍Spark上下文构建和模拟数据生成方式。
导入模拟数据生成类
在包com.erik.sparkproject.test
下导入电商数据模拟生成程序MockData.java
,这个程序下载地址:链接:http://pan.baidu.com/s/1pKN7PEV 密码:vwpc
创建Spark作业类
创建包com.erik.sparkproject.spak
,然后创建用户访问session分析Spark作业类UserVisitSessionAnalyzeSpark.java
package com.erik.sparkproject.spark;import org.apache.spark.SparkConf;import org.apache.spark.SparkContext;import org.apache.spark.api.java.JavaSparkContext;import org.apache.spark.sql.SQLContext;import org.apache.spark.sql.hive.HiveContext;import com.erik.sparkproject.conf.ConfigurationManager;import com.erik.sparkproject.constant.Constants;import com.erik.sparkproject.test.MockData;/** * 用户访问session分析spark作业 * @author Erik * */public class UserVisitSessionAnalyzeSpark { public static void main(String[] args) { //构建spark上下文 //首先在Constants.java中设置spark作业相关的常量 //String SPARK_APP_NAME = "UserVisitSessionAnalyzeSpark"; //保存Constants.java配置 SparkConf conf = new SparkConf() .setAppName(Constants.SPARK_APP_NAME) .setMaster("local"); JavaSparkContext sc = new JavaSparkContext(conf); SQLContext sqlContext = getSQLContext(sc.sc()); //生成模拟测试数据 mockData(sc, sqlContext); //关闭spark上下文 sc.close(); } /** * 获取SQLContext * 如果在本地测试环境的话,那么久生成SQLC哦那text对象 *如果在生产环境运行的话,那么就生成HiveContext对象 * @param sc SparkContext * @return SQLContext */ private static SQLContext getSQLContext(SparkContext sc) { //在my.properties中配置 //spark.local=true(打包之前改为flase) //在ConfigurationManager.java中添加 //public static Boolean getBoolean(String key) { // String value = getProperty(key); // try { // return Boolean.valueOf(value); // } catch (Exception e) { // e.printStackTrace(); // } // return false; //} //在Contants.java中添加 //String SPARK_LOCAL = "spark.local"; boolean local = ConfigurationManager.getBoolean(Constants.SPARK_LOCAL); if(local) { return new SQLContext(sc); }else { return new HiveContext(sc); } } /** * 生成模拟数据 * 只有是本地模式,才会生成模拟数据 * @param sc * @param sqlContext */ private static void mockData(JavaSparkContext sc, SQLContext sqlContext) { boolean local = ConfigurationManager.getBoolean(Constants.SPARK_LOCAL); if(local) { MockData.mock(sc, sqlContext); } }}
运行后会输入类似于[****-**-**,12,44e36c283e3846ed8f3e3bf01b534158,1,2017-03-06 22:46:46,火锅,null,null,null,null,null,null]
和[0,user0,name0,54,professional94,city66,female]
的信息,说明模拟数据已经生成。
《Spark 大型电商项目实战》源码:https://github.com/Erik-ly/SprakProject
本文为《Spark大型电商项目实战》系列文章之一。
更多文章:Spark大型电商项目实战:http://blog.csdn.net/u012318074/article/category/6744423
1 0
- 20.Spark上下文构建以及模拟数据生成
- dual构建临时数据集以及动态生成临时表
- JAVA 生成模拟数据
- js随机生成模拟数据
- EXT.NET后台构建模拟数据
- irms模拟数据生成及数据分析
- irms模拟数据生成及数据分析
- 第113课:Spark Streaming电商广告点击综合案例实战模拟点击数据的生成和数据表SQL建立
- Python 模拟数据生成模块 Faker
- Python 模拟数据生成模块 Faker
- NOIP模拟赛题目以及数据
- 无法生成SSPI上下文
- 012-docker的构建上下文
- spark将数据写入hbase以及从hbase读取数据
- spark将数据写入hbase以及从hbase读取数据
- Spark将数据写入Hbase以及从Hbase读取数据
- mock.js实例,构建相应的模拟假数据
- flex4 datagrid 加载数据 以及MQ推动的数据模拟
- struts-2.3.31和struts-2.5.10引入jar以及配置web.xml和struts.xml
- Thread-synchronized同步 -火车票实例
- jdk环境变量配置
- C#的转换方式
- 学习JavaScript闭包
- 20.Spark上下文构建以及模拟数据生成
- Spring面试,IoC和AOP的理解
- linux学习笔记(六)
- 对电子游戏的平衡性和可玩性的直观感受和对游戏生涯的憧憬
- java实现链表及其相关操作
- 51Nod-1557-两个集合
- 基本的HTTP流程有哪些
- 最高效的oracle分页语句,你会了吗?
- Android优化 —— 布局