![](/img/trans.png)
[英]Is it possible to read and write Parquet using Java without a dependency on Hadoop and HDFS?
[英]Hadoop: How to write to HDFS using a Java application
我是Hadoop的新手,正在嘗試學習。 我正在嘗試在Ubuntu Linux上的Eclipse中運行以下Hadoop示例代碼。 我具有Hadoop v 2.7.0,並且具有必需的jar。
Configuration conf = new Configuration();
conf.addResource(new Path("/usr/local/hadoop/conf/core-site.xml"));
Path pt=new Path("hdfs://localhost:9000/myhome/a.txt");
FileSystem fs = FileSystem.get(conf);
當我在Eclipse中運行應用程序時, Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/util/PlatformName
得到Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/util/PlatformName
。 我正在引用的hadoop-common-2.7.0.jar
文件不包含應用程序正在尋找的類。 我引用的是jar文件Hadoop / common文件夾。
解決該問題的任何幫助將不勝感激。
如果我為上述代碼創建了該類的jar文件,並使用hadoop -jar <jar file> <class name>
對其進行了運行,那么它將起作用。 因此,我想知道是否可以在不使用hadoop命令的情況下從Eclipse或命令行運行Hadoop Java應用程序。
看來JVM不會加載所有必需的Hadoop工件。
如果您是maven用戶,請確保您具有這些依賴項。
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
<version>${hadoop.client.version}</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>${hadoop.client.version}</version>
</dependency>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.