添加pom.xml依賴
<dependency> <groupId>org.apache.hive</groupId> <artifactId>hive-jdbc</artifactId> <version>2.1.0</version> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> </exclusion> <!-- <exclusion>--> <!-- <groupId>log4j</groupId>--> <!-- <artifactId>log4j</artifactId>--> <!-- </exclusion>--> <exclusion> <groupId>org.apache.logging.log4j</groupId> <artifactId>*</artifactId> </exclusion> <exclusion> <groupId>org.eclipse.jetty</groupId> <artifactId>*</artifactId> </exclusion> <exclusion> <groupId>org.eclipse.jetty.orbit</groupId> <artifactId>javax.servlet</artifactId> </exclusion> <exclusion> <groupId>org.mortbay.jetty</groupId> <artifactId>servlet-api-2.5</artifactId> </exclusion> <exclusion> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> </exclusion> <exclusion> <groupId>org.apache.hive.shims</groupId> <artifactId>hive-shims-common</artifactId> </exclusion> </exclusions> </dependency> </dependencies>
實現獲取指定路徑下的文件列表
package worktrain; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileStatus; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; public class HdfsController { //獲取指定路徑下的文件列表 public static void Hdfs() { try { Configuration conf = new Configuration(); conf.set("fs.defaultFS", "hdfs://121.36.17.42:9000"); FileSystem fs = null; //fs = FileSystem.get(new URI("hdfs://10.8.6.126:8020"),conf); //這兩種方式都可以配置hdfs ip fs = FileSystem.get(conf); Path path = new Path("/"); //通過fs的listStatus方法獲取一個指定path的所有文件信息(status),因此我們需要傳入一個hdfs的路徑,返回的是一個filStatus數組 FileStatus[] fileStatuses = fs.listStatus(path); for (FileStatus fileStatus : fileStatuses) { //判斷當前迭代對象是否是目錄 boolean isDir = fileStatus.isDirectory(); //獲取當前文件的絕對路徑 String fullPath = fileStatus.getPath().toString(); System.out.println("isDir:" + isDir + ",Path:" + fullPath); } } catch (Exception e){ System.out.println(e.getStackTrace()); } } public static void main(String[] args) { Hdfs(); } }
hdfs操作之獲取指定路徑下的文件列表
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.