第97课: 使用Spark Streaming+Spark SQL+mysql 实现在线动态计算出特定时间窗口下的不同种类商品中的热门商品排名(详细内幕版本)
2016-05-24 20:51
1071 查看
第97课: 使用Spark Streaming+Spark SQL+mysql 实现在线动态计算出特定时间窗口下的不同种类商品中的热门商品排名.
/* 王家林老师授课http://weibo.com/ilovepains 每天晚上20:00YY频道现场授课频道68917580*/
使用Spark Streaming+Spark SQL+Mysql来在线动态计算电商中不同类别中最热门的商品排名,例如手机这个类别下面最热门的三种手机、电视这个类别
下最热门的三种电视,该实例在实际生产环境下具有非常重大的意义;
Spark Streaming+Spark SQL+mysql 知易行难,也是知难行易
1, java.lang.NullPointerException 空指针问题解决
foreachRDD、foreachPartition 增加isEmpty的判断
单元测试,单独把数据库连接入库的代码运行,硬编码方式插入记录,验证数据库连接正常。
看foreachRDD、foreachPartition的源代码,加深对foreachRDD、foreachPartition理解。
nc -lk 9999 输入数据格式的规范,避免输入数据格式出错。
打印日志排查 reseltDataFram.show() resultRowRDD.take(10).foreach(println)
2,java.sql.SQLException: Access denied for user 'root'@'worker6' 权限问题解决
在mysq中 开通远程登录的权限:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
FLUSH PRIVILEGES;
3,虚拟机磁盘空间问题解决。
windows+vmvare虚拟机,huawei服务器设备只有300G,安装了1个master,8个worker虚拟机设备,每台虚拟机设备分配20g的空间 ,实际运行时候每台虚拟机约10g左右,但运行spark streamin的时,虚拟机会不断的占用物理机硬盘资源,导致 磁盘资源不够 ,虚拟机本身运行就提示报错了,实验无法进行。因此,扩容了一个 1T的移动硬盘,将虚拟机全部复制到移动硬盘上 运行 ,运行速度稍微曼一点,流处理实验得以继续!
4,spark日志的打印调试
driver上console中实时查看流处理的日志;
但task是Executor 在运行,因此一部分日志在driver上不会显示 ,此时需要登录到Executor stderr log 查看日志 ,就能全面掌握spark streaming的运行情况,解决问题。
Spark Streaming+Spark SQL+Mysql来在线动态计算电商中不同类别中最热门的商品排名
综合案例实施步骤
OnlineTheTop3ItemForEachCategory2DB .scala
ConnectionPool .java
运行截图
王家林老师 :DT大数据梦工厂创始人和首席专家。
联系邮箱:18610086859@126.com 电话:18610086859 QQ:1740415547
微信号:18610086859 微博:http://weibo.com/ilovepains/
每天晚上20:00YY频道现场授课频道68917580
IMF Spark源代码版本定制班学员 :
上海-段智华 QQ:1036179833 mail:duanzhihua@189.cn 微信 18918561505
/* 王家林老师授课http://weibo.com/ilovepains 每天晚上20:00YY频道现场授课频道68917580*/
使用Spark Streaming+Spark SQL+Mysql来在线动态计算电商中不同类别中最热门的商品排名,例如手机这个类别下面最热门的三种手机、电视这个类别
下最热门的三种电视,该实例在实际生产环境下具有非常重大的意义;
Spark Streaming+Spark SQL+mysql 知易行难,也是知难行易
1, java.lang.NullPointerException 空指针问题解决
foreachRDD、foreachPartition 增加isEmpty的判断
单元测试,单独把数据库连接入库的代码运行,硬编码方式插入记录,验证数据库连接正常。
看foreachRDD、foreachPartition的源代码,加深对foreachRDD、foreachPartition理解。
nc -lk 9999 输入数据格式的规范,避免输入数据格式出错。
打印日志排查 reseltDataFram.show() resultRowRDD.take(10).foreach(println)
2,java.sql.SQLException: Access denied for user 'root'@'worker6' 权限问题解决
在mysq中 开通远程登录的权限:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
FLUSH PRIVILEGES;
3,虚拟机磁盘空间问题解决。
windows+vmvare虚拟机,huawei服务器设备只有300G,安装了1个master,8个worker虚拟机设备,每台虚拟机设备分配20g的空间 ,实际运行时候每台虚拟机约10g左右,但运行spark streamin的时,虚拟机会不断的占用物理机硬盘资源,导致 磁盘资源不够 ,虚拟机本身运行就提示报错了,实验无法进行。因此,扩容了一个 1T的移动硬盘,将虚拟机全部复制到移动硬盘上 运行 ,运行速度稍微曼一点,流处理实验得以继续!
4,spark日志的打印调试
driver上console中实时查看流处理的日志;
但task是Executor 在运行,因此一部分日志在driver上不会显示 ,此时需要登录到Executor stderr log 查看日志 ,就能全面掌握spark streaming的运行情况,解决问题。
Spark Streaming+Spark SQL+Mysql来在线动态计算电商中不同类别中最热门的商品排名
综合案例实施步骤
OnlineTheTop3ItemForEachCategory2DB .scala
ConnectionPool .java
运行截图
王家林老师 :DT大数据梦工厂创始人和首席专家。
联系邮箱:18610086859@126.com 电话:18610086859 QQ:1740415547
微信号:18610086859 微博:http://weibo.com/ilovepains/
每天晚上20:00YY频道现场授课频道68917580
IMF Spark源代码版本定制班学员 :
上海-段智华 QQ:1036179833 mail:duanzhihua@189.cn 微信 18918561505
相关文章推荐
- mysql sql整理
- MySQL的大小写问题
- ubuntu上安装MySQL非常简单只需要几条命令就可以完成。
- mysql_基础1
- mysql auto_increment 的坑
- MySQL数据库中的多表数据记录查询
- Ubuntu中安装MySQL
- Mysql插入中文乱码
- MySQL的几个重要目录
- mysql中 导出一个库中的表 中的某个字段值
- Mysql新建用户与权限
- 市长信箱邮件查询服务: 使用Elasticsearch 替代 Mysql
- MySql 内存表(engine=heap)
- MySQL的timeout那点事
- Windows下mysql忘记root密码的解决方法
- MySQL中information_schema是什么
- MYSQL 索引
- Mysql性能优化
- MySQL外键在数据库中的作用
- mysql自动增长怎么恢复从1开始