Spark Steaming编程
最后一步了,spark streaming 连接处理日志流,给后端,给AI
这边主要是边对着教程,博客模仿着写(因为不熟悉scala语言),所以做的笔记比较少,给出的大部分是链接,有bug基本上马上就解决了,没怎么注意笔记,请见谅。
这篇博客给出编程中所参考的一些文章及思路
IDEA的配置
https://www.cnblogs.com/duaner92/p/10451273.html
https://blog.csdn.net/boling_cavalry/article/details/87510822
https://www.pianshen.com/article/2857147020/
这边IDE使用IDEA
在 file -->settings -->Plugins
里直接下载scala插件
然后重启IDEA,创建scala项目,可能要下载scala sdk,这边推荐挂代理,下载sdk实属有点慢
然后添加spark库,点击File -> ProjectStructure -> ProjectSettings -> Libraries
点加号,选java,在弹出窗口中,选择spark目录下的jars目录,我这边是直接将虚拟机中spark的jars 和kafka中的libs 拖到物理机中同该项目同个目录下,然后弹出的窗口选择模块,即工程目录即可
然后配置完选择ok
配置sbt
https://blog.csdn.net/sgyuanshi/article/details/93314355
https://zhuanlan.zhihu.com/p/82727108
创建文件
src文件夹下,创建你需要的目录
spark streaming sql
https://blog.csdn.net/liuhehe123/article/details/87937401
构建打包
File -> Project Structure -> Project settings -> Artifacts
选择加号,add jar -> From modules with dependency...
spark运行
https://www.cnblogs.com/xxbbtt/p/8143593.html
$ ./sbin/start-master.sh
$ ./bin/spark-class org.apache.spark.deploy.worker.Worker spark://magic:7077
$ ./bin/spark-submit --master spark://localhost:7077 --class streaming /home/user/Web_Log_Analyser.jar --jars /usr/local/kafka_2.12-2.5.0/libs/kafka-clients-2.5.0.jar
打包
https://www.cnblogs.com/zhkmxx930/p/2d56bcdb3cfd8505a5e6092b555a4c25.html
读取kafka流
https://blog.csdn.net/m0_37637511/article/details/80330358
https://blog.csdn.net/github_39577257/article/details/81151137
spark streaming rdd存入mysql
https://blog.csdn.net/jy02268879/article/details/81090490
https://www.cnblogs.com/wujiadong2014/p/6516598.html
–
https://www.javazhiyin.com/49934.html
https://yq.aliyun.com/articles/44341
Regex 匹配UA头:https://segmentfault.com/q/1010000005183664
User Agent 中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。
https://learnku.com/laravel/t/3037/using-nginx-map-instruction-to-match-user-agent-custom-values
https://www.jianshu.com/p/be611a566fe2
https://www.jianshu.com/p/522bf872e9e6
spark sql 数据类型转换
http://blog.51yip.com/hadoop/2324.html
sbt依赖的仓库查询
https://mvnrepository.com/artifact/org.apache.spark/spark-core
sbt 插件sbt-assembly安装
https://blog.csdn.net/clever_wr/article/details/89352095
Bug :
- https://www.cnblogs.com/JuncaiF/p/12356011.html
- 报错:Exception in thread “main” java.lang.IllegalAccessError: class org.apache.hadoop.hdfs.web.HftpFileSystem cannot access its superinterface org.apache.hadoop.hdfs.web.TokenAspect$TokenManagementDelegator
- 错误原因:pow文件里面使用的spark-core模块依赖的是2.6.5的hadoop-client,而服务器上hadoop版本是3.0.0,产生jar包冲突
- 解决方案:将spark-core模块的hadoop依赖去掉,手动引入hadoop相关jar包