版本说明
- Spark 2.2.0 源码下载地址:Index of /dist/spark
- Scala 2.11.8 下载地址:All Available Versions | The Scala Programming Language
- Idea 版本:2022.3.1
编译步骤
1.以maven方式导入到Idea中编译
切换源码根目录以命令行方式执行编译命令:
mvn -T 16 -DskipTests package
大概需要20~30分钟
2.运行example目录下的JavaLogQuery示例
报错记录
1.编译报错
scalac: Error: Error compiling the sbt component 'compiler-interface-2.11.8-61.0'
解法:在Idea的系统配置中搜Scala Compile Server,将JVM的JDK设置为1.8,与项目设置保持一致(如果不是也请改为1.8)。
2.报Flume相关包缺失
在Idea里:
- 打开View -> Tool Windows -> Maven Projects
- 右击Spark Project External Flume Sink
- 点击Generate Sources and Update Folders
随后,Idea会自动下载Flume Sink相关的包
参考:https://blog.51cto.com/wangyuguo/1981837#:~:text=-%20%E6%89%93%E5%BC%80View%20-%3E%20Tool%20Windows%20-%3E%20Maven%20Projects,do%20can%20resolve%20type%20SparkFlumeProtocol%20not%20found%20issue.
3.报Scala SDK缺失
Error:scalac: No 'scala-library*.jar' in Scala compiler classpath in Scala SDK scala-sdk-2.11.11
Idea中设置本地下载好的scala路径
4.运行JavaLogQuery报错
A master URL must be set in your configuration
SparkSession spark = SparkSession
.builder()
//增加master设置
.master("local")
.appName("JavaLogQuery")
.getOrCreate();