环境:
- Spark 2.2.2
- Alluxio 1.8
开发环境
以使用 Maven 的 Java 工程为例,如果,有以下三种方式:
第一种方式:将 <ALLUXIO_HOME>/client/alluxio-1.8.0-client.jar
JAR 文件上传到 Nexus 服务器
第二种方式:添加 <ALLUXIO_HOME>/client/alluxio-1.8.0-client.jar
JAR 文件作为系统依赖:
<dependency>
<groupId>org.alluxio</groupId>
<artifactId>client</artifactId>
<version>1.8.0</version>
<scope>system</scope>
<systemPath>${ALLUXIO_HOME}/client/alluxio-1.8.0-client.jar</systemPath>
</dependency>
第三种方式:安装 <ALLUXIO_HOME>/client/alluxio-1.8.0-client.jar
到本地仓库。
执行命令:
mvn install:install-file -Dfile=$ALLUXIO_HOME/client/alluxio-1.8.0-client.jar -DgroupId=org.alluxio -DartifactId=client -Dversion=1.8.0 -Dpackaging=jar -DgeneratePom=true
添加依赖:
<dependency>
<groupId>org.alluxio</groupId>
<artifactId>client</artifactId>
<version>1.8.0</version>
<scope>provided</scope>
</dependency>
部署环境
为了 Spark 可以读写 Alluxio,Alluxio 客户端 JAR 文件需要分发到 Spark 集群下各个节点,可以在 Spark 客户端进行配置:
编辑 <SPARK_HOME>/confspark-defaults.conf
文件:
spark.driver.extraClassPath /${ALLUXIO_HOME}/client/alluxio-1.8.0-client.jar
spark.executor.extraClassPath /<ALLUXIO_HOME>/client/alluxio-1.8.0-client.jar
使用
读数据:
spark.read
.json("alluxio://alluxio_master:19998/data/users")
写数据:
spark.write.json("alluxio://alluxio_master:19998/data/users")