Я пытаюсь настроить вызов HDFS, чтобы получить файл из него, используя FileSystem, чтобы сделать это:
FileSystem fs = new FileSystem.get(new URI.create(uri), conf);
Но я получаю эти две ошибки, несмотря на то, что я вызвал всебиблиотеки
Error:(46, 39) java: cannot find symbol
symbol: class get
location: class org.apache.hadoop.fs.FileSystem
Error:(46, 47) java: cannot find symbol
symbol: method create(java.lang.String)
location: class org.apache.commons.httpclient.URI
Это для версии hadoop 2.7.7.Я уже пытался импортировать библиотеку отверстий org.apache.hadoop.fs.*;
, но метод get
и create
все еще отсутствует, когда я пытаюсь использовать их в строке следующим образом: FileSystem fs = new FileSystem.get(URI.create(usi), conf)
import org.apache.commons.httpclient.URI;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.*;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IOUtils;
public class Test {
public static void main(String []args) {
String uri = "hdfs://localhost:9000/data.json";
Configuration conf = new Configuration();
//cannot find symbol get
//Cannot find symbol create
FileSystem fs = new FileSystem.get(new URI.create(uri), conf);
InputStream in = null;
try {
in = fs.open(new Path(uri));
IOUtils.copyBytes(in, System.out, 4096, false);
} catch (IOException e) {
e.printStackTrace();
} finally {
IOUtils.closeStream(in);
}
}
}
А вот мой файл POM.xml:
<?xml version="1.0" encoding="UTF-8"?>
<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.boeing.bedl</groupId>
<artifactId>IngestionData</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>2.7.7</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-yarn-common</artifactId>
<version>2.7.7</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-mapreduce-client-core</artifactId>
<version>2.7.7</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-mapreduce-client-common</artifactId>
<version>2.7.7</version>
</dependency>
</dependencies>
</project>