无法访问 IDE 中的 Alluxio 文件系统 API
Unable to access Alluxio File System API in IDE
我试图在 IDE 中的 scala 代码中访问 alluxio 中的文件,但出现此错误 Exception in thread "main" java.io.IOException: No FileSystem for scheme: alluxio
我的代码如下,
package com.example.sparkalliuxiodemo
import org.apache.spark.sql.SparkSession
object TestMain {
def main(args: Array[String]): Unit = {
val spark = SparkSession.builder().config("spark.master", "local[2]")
.getOrCreate()
var df = spark.read.parquet("alluxio://localhost:19998/sample-df")
df.printSchema()
}
}
pom.xml:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>spark-alluxio-demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.12</artifactId>
<version>2.4.0</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-sql_2.12</artifactId>
<version>2.4.0</version>
</dependency>
<dependency>
<groupId>org.alluxio</groupId>
<artifactId>alluxio-core-client</artifactId>
<version>1.8.1</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.alluxio</groupId>
<artifactId>alluxio-core-server</artifactId>
<version>1.8.1</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.alluxio</groupId>
<artifactId>alluxio-core-common</artifactId>
<version>1.8.1</version>
</dependency>
<dependency>
<groupId>org.alluxio</groupId>
<artifactId>alluxio-core-client-fs</artifactId>
<version>1.8.1</version>
</dependency>
</dependencies>
</project>
我可以通过 Shell 访问 Spark 安装目录中的 alluxio 文件系统。如果我尝试通过 IDE 访问相同的内容,包括 POM.xml 中的上述 alluxio 依赖项,我会收到上述错误。
如果我将这个 jar `alluxio-1.8.1-client.jar' 手动放置到我的构建路径中,我可以在 alluxio 中访问该文件,而 IDE 本身不会出现任何错误。
我需要在eclipse或scala中直接访问alluxio中的文件-ide。
任何人都可以建议我将正确的 alluxio 依赖项包含在 Maven 依赖项中吗?
尝试添加
<dependency>
<groupId>org.alluxio</groupId>
<artifactId>alluxio-core-client-hdfs</artifactId>
<version>1.8.1</version>
</dependency>
我试图在 IDE 中的 scala 代码中访问 alluxio 中的文件,但出现此错误 Exception in thread "main" java.io.IOException: No FileSystem for scheme: alluxio
我的代码如下,
package com.example.sparkalliuxiodemo
import org.apache.spark.sql.SparkSession
object TestMain {
def main(args: Array[String]): Unit = {
val spark = SparkSession.builder().config("spark.master", "local[2]")
.getOrCreate()
var df = spark.read.parquet("alluxio://localhost:19998/sample-df")
df.printSchema()
}
}
pom.xml:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>spark-alluxio-demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.12</artifactId>
<version>2.4.0</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-sql_2.12</artifactId>
<version>2.4.0</version>
</dependency>
<dependency>
<groupId>org.alluxio</groupId>
<artifactId>alluxio-core-client</artifactId>
<version>1.8.1</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.alluxio</groupId>
<artifactId>alluxio-core-server</artifactId>
<version>1.8.1</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.alluxio</groupId>
<artifactId>alluxio-core-common</artifactId>
<version>1.8.1</version>
</dependency>
<dependency>
<groupId>org.alluxio</groupId>
<artifactId>alluxio-core-client-fs</artifactId>
<version>1.8.1</version>
</dependency>
</dependencies>
</project>
我可以通过 Shell 访问 Spark 安装目录中的 alluxio 文件系统。如果我尝试通过 IDE 访问相同的内容,包括 POM.xml 中的上述 alluxio 依赖项,我会收到上述错误。
如果我将这个 jar `alluxio-1.8.1-client.jar' 手动放置到我的构建路径中,我可以在 alluxio 中访问该文件,而 IDE 本身不会出现任何错误。
我需要在eclipse或scala中直接访问alluxio中的文件-ide。
任何人都可以建议我将正确的 alluxio 依赖项包含在 Maven 依赖项中吗?
尝试添加
<dependency>
<groupId>org.alluxio</groupId>
<artifactId>alluxio-core-client-hdfs</artifactId>
<version>1.8.1</version>
</dependency>