关于Spark Streaming编程

    技术2022-07-11  104

    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/配置-Intellij-Idea-和-Sbt-开发、打包、运行-Spark-程序/

    读取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包
    Processed: 0.019, SQL: 9