关于Spark Streaming编程

本文档详细介绍了使用IDEA进行Spark Streaming编程的过程,包括IDEA的Scala插件安装、Spark库配置、sbt设置、创建源代码、构建打包、读取Kafka流以及将数据存入MySQL。在编程过程中参考了多个博客资源,解决了一些常见的问题,如错误‘Exception in thread “main” java.lang.IllegalAccessError’的处理。
摘要由CSDN通过智能技术生成

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

https://weilu2.github.io/2018/11/16/%E9%85%8D%E7%BD%AE-Intellij-Idea-%E5%92%8C-Sbt-%E5%BC%80%E5%8F%91%E3%80%81%E6%89%93%E5%8C%85%E3%80%81%E8%BF%90%E8%A1%8C-Spark-%E7%A8%8B%E5%BA%8F/

读取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
  1. 报错: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
  2. 错误原因:pow文件里面使用的spark-core模块依赖的是2.6.5的hadoop-client,而服务器上hadoop版本是3.0.0,产生jar包冲突
  3. 解决方案:将spark-core模块的hadoop依赖去掉,手动引入hadoop相关jar包
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值