配置
安装java
sudo apt-get update
sudo apt-get install openjdk-8-jdk
java -version
安装scala
wget https://downloads.lightbend.com/scala/2.13.8/scala-2.13.8.tgz
sudo tar xvf scala-2.13.8.tgz
mv scala-2.13.8 scala
SCALA_HOME=/home/ztw/scala
PATH=$SCALA_HOME/bin:$PATH
安装py4j
Py4J在驱动程序上用于Python和Java SparkContext对象之间的本地通信,大型数据传输是通过不同的机制执行的。
pip install -i https://pypi.douban.com/simple py4j
安装spark
wget http://mirrors.tuna.tsinghua.edu.cn/apache/spark/spark-2.4.8/spark-2.4.8-bin-hadoop2.7.tgz
tar xvf spark-2.4.8-bin-hadoop2.7.tgz
mv spark-2.4.8-bin-hadoop2.7.tgz spark
SPARK_HOME=/home/ztw/spark
PATH=$SPARK_HOME/bin:$PATH
减少打印信息
cd ./spark
./bin/run-example SparkPi 10
cp conf/log4j.properties.template conf/log4j.properties
vim conf/log4j.properties
log4j.rootCategory=INFO, console
替换为
log4j.rootCategory=ERROR, console
验证
cd ./spark
./bin/run-example SparkPi 10
配置自定义SQL函数
配置好后,可以在SQL中使用
spark.udf.register("date_diff", lambda x, y: (datetime.strptime(y, '%Y-%m-%d') - datetime.strptime(x, '%Y-%m-%d')).days)
参考资料
https://blog.csdn.net/olizxq/article/details/118249447 (完整的安装过程)