/** * 获取1号店生鲜食品的分类id字符串 * @param filePath * @return */ public String getYHDSXCategoryIdStr(String filePath) { final String DELIMITER = new String(new byte[]{1}); final String INNER_DELIMITER = ","; // 遍历目录下的所有文件 BufferedReader br = null; try { FileSystem fs = FileSystem.get(new Configuration()); FileStatus[] status = fs.listStatus(new Path(filePath)); for (FileStatus file : status) { if (!file.getPath().getName().startsWith("part-")) { continue; } FSDataInputStream inputStream = fs.open(file.getPath()); br = new BufferedReader(new InputStreamReader(inputStream)); String line = null; while (null != (line = br.readLine())) { String[] strs = line.split(DELIMITER); String categoryId = strs[0]; String categorySearchName = strs[9]; if (-1 != categorySearchName.indexOf("0-956955")) { yhdsxCategoryIdStr += (categoryId + INNER_DELIMITER); } }// end of while } } catch (IOException e) { e.printStackTrace(); } finally { try { br.close(); } catch (IOException e) { e.printStackTrace(); } } return yhdsxCategoryIdStr; }
HDFS上的目录、文件:
-bash-3.2$ hadoop fs -ls /user/hive/warehouse/category Found 2 items -rw-r--r-- 2 basicdata supergroup 0 2014-08-18 01:05 /user/hive/warehouse/category/_SUCCESS -rw-r--r-- 2 basicdata supergroup 1117233 2014-08-18 01:05 /user/hive/warehouse/category/part-m-00000
文件内容:
-bash-3.2$ hadoop fs -cat /user/hive/warehouse/category/part-* | more 52880000052880杂粮组合51621010-5135-5162-5288:食品-粮油-杂粮组合011 9726780009726787茶具19650290040-950340-965029-972678:家居-餐具水具-茶具1011 9701550009701557菲士康196046510null0-960464-960465-970155:隐形眼镜(药网)-普通隐形眼镜-菲士康1011 9702350009702356生活服务000180-970235:生活服务011 9702360009702367SIM卡9635241030-957328-963524-970236:手机通讯/数码电器-运营商-SIM卡011 9737840009737842鞋包配饰97377810null0-960665-960768-973775-973778-973784:1号礼品中心-时尚创意礼品-定制品-个性定制-鞋包配饰011 5315T602个人清洁5183190null0-5134-5183-5315:厨卫清洁-清洁剂-个人清洁111 5316T603家用清洁5183190null0-5134-5183-5316:厨卫清洁-清洁剂-家用清洁111 5317UD02蛋制品1516110null0-5135-5161-5317:食品饮料-腌制品1-蛋制品1111 5318UD030肉制品5161180null0-5135-5161-5318:食品饮料-腌制品-肉制品111
相关推荐
这些JAR包包含了Hadoop的Java API,它们允许开发者编写Java应用程序来直接与HDFS进行交互,如读取、写入和管理文件。通过这些API,我们可以实现数据的上传、下载、查找、删除等基本操作,以及更复杂的文件系统操作。...
获取HDFS目录列表 ```java private static void getDirectoryFromHdfs() throws IOException { FileSystem fs = FileSystem.get(conf); FileStatus[] statuses = fs.listStatus(new Path("hdfs://192.168.0.113:...
javaAPI操作HDFS,测试可用 window环境需要下载hadoop客户端
接下来,通过`FileSystem`类的静态方法获取HDFS的实例: ```java FileSystem fs = FileSystem.get(conf); ``` 现在,我们可以使用这个`fs`对象来执行HDFS的操作。要创建目录,可以调用`mkdirs()`方法: ```java ...
* 分布式文件系统:HDFS Java API 可以用于分布式文件系统,例如 HDFS、Ceph 等。 结论 HDFS Java API 是一个功能强大且灵活的 Java 库,提供了多种方式来操作 HDFS。它的优点包括高性能、高可靠性和高灵活性,...
Java API 是 HDFS 的一个编程接口,允许开发者使用 Java 语言来操作 HDFS 中的文件和目录。本文将介绍如何使用 HDFS Java API 实现文件下载和上传操作。 一、HDFS Java API 概述 HDFS Java API 是 Hadoop 中的一...
2. **FileSystem对象**:`FileSystem`是HDFS API的入口点,通过它你可以执行所有文件操作。首先需要实例化一个`FileSystem`对象,通常使用`FileSystem.get(conf)`方法,其中`conf`是`Configuration`对象,配置了...
例如,可以使用`fs.delete()`删除文件,`fs.rename()`重命名文件,`fs.globStatus()`获取匹配模式的所有文件。 7. **集群认证**: 如果HDFS集群启用了安全认证(如Kerberos),还需要配置安全上下文,进行身份验证...
- **列举目录**:使用`FileSystem.listStatus(path)`列出指定目录下的文件和子目录。 - **移动和重命名**:使用`FileSystem.rename(oldPath, newPath)`移动或重命名文件/目录。 7. **文件属性** - **获取文件...
8. **权限和访问控制**:HDFS支持POSIX样式的权限模型,Java API提供了设置和检查文件和目录权限的函数。 9. **安全性**:在安全模式下,HDFS支持Kerberos认证,Java API提供了进行安全身份验证的机制。 10. **...
Java API提供了访问HDFS的接口,例如`org.apache.hadoop.fs.FileSystem`类,可以用于读取、写入和管理文件系统中的文件。 2. **Hadoop MapReduce**:MapReduce是Hadoop用于并行处理和分析大数据的编程模型。在GROUP...
使用Java API 操作 HDFS 过程详解 Java 应用程序接口(API)是 Java 语言提供的一组编程接口,用于访问...使用 Java API 操作 HDFS 需要配置好 Maven 环境,获取 FileSystem 对象,然后使用它来读取和写入 HDFS 文件。
- **文件遍历**:使用`FileStatus[] listStatus(Path f)`获取目录下所有文件的状态,再遍历这些状态信息。 - **查找文件**:利用`LocatedFileStatus[] globStatus(Path pathPattern)`根据通配符查找文件。 - **拷贝...
该资源是java通过api的方式来操作hadoop,主要有以下操作: 一.文件操作 1.上传本地文件到hadood ...3.读取某个目录下的所有文件 三.hdfs信息 1.查找某个文件在HDFS集群中位置 2.获取HDFS集群上所有名称节点信息
Java作为广泛使用的编程语言,提供了丰富的API来操作HDFS,使得开发者能够方便地进行文件的读取、写入、复制、移动等操作。本文将详细讲解如何使用Java对HDFS进行文件操作,并介绍两个相关的项目示例。 首先,Java...
HDFS 提供了一个 API,允许开发者使用 Java 语言编写程序来操作 HDFS 文件系统。该 API 包括了 open、read、write、close 等方法,用于读写 HDFS 文件。 使用 HDFS API 可以实现以下操作: 1. 上传本地文件:使用 ...
除了上述操作,Java API还提供了诸如移动文件、重命名、检查文件是否存在、读取文件内容等更多的功能。例如,`FileSystem.rename()`用于重命名文件,`FileSystem.exists()`检查文件或目录是否存在,`...
6. **列举目录内容**:使用`listStatus()`方法列出目录中的所有文件和子目录。例如: ```java FileStatus[] statuses = fs.listStatus(dirPath); for (FileStatus status : statuses) { System.out.println...
利用java api实现HDFS增删查改文件和文件目录,运行代码首先eclipse集成hadoop环境 maven项目pom.xml导入相关依赖