全是代码,也比较简单,直接进去看吧,转载没排版,也可以去原地址看,地址在最下面
/** * 获取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上的目录、文件:
1
2
3
4
|
-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 |
文件内容:
1
2
3
4
5
6
7
8
9
10
11
|
-bash- 3.2 $ hadoop fs -cat /user/hive/warehouse/category/part-* | more 5288
0000052880 杂粮组合 5162
1
0
1
0 - 5135 - 5162 - 5288 :食品-粮油-杂粮组合 0
1
1 972678
0009726787 茶具 1
965029
0
0
4
0 - 950340 - 965029 - 972678 :家居-餐具水具-茶具 1
0
1
1 970155
0009701557 菲士康 1
960465
1
0
null
0 - 960464 - 960465 - 970155 :隐形眼镜(药网)-普通隐形眼镜-菲士康 1
0
1
1 970235
0009702356 生活服务 0
0
0
18
0 - 970235 :生活服务 0
1
1 970236
0009702367 SIM卡 963524
1
0
3
0 - 957328 - 963524 - 970236 :手机通讯/数码电器-运营商-SIM卡 0
1
1 973784
0009737842 鞋包配饰 973778
1
0
null
0 - 960665 - 960768 - 973775 - 973778 - 973784 : 1 号礼品中心-时尚创意礼品-定制品-个性定制-鞋包配饰 0
1
1 5315 T602个人清洁 5183
1
9
0
null
0 - 5134 - 5183 - 5315 :厨卫清洁-清洁剂-个人清洁 1
1
1 5316 T603家用清洁 5183
1
9
0
null
0 - 5134 - 5183 - 5316 :厨卫清洁-清洁剂-家用清洁 1
1
1 5317 UD02蛋制品 1
5161
1
0
null
0 - 5135 - 5161 - 5317 :食品饮料-腌制品 1 -蛋制品 1
1
1
1 5318 UD03 0 肉制品 5161
1
8
0
null
0 - 5135 - 5161 - 5318 :食品饮料-腌制品-肉制品 1
1
1 |