hadoop分布式文件系统——导入和导出数据(一)

原创
2014/03/19 22:27
阅读数 226

一个经典的数据架构

从分散的系统收集来数据,然后导入HDFS(Hadoop分布式文件系统),然后通过MapReduce或者其他基于MapReduce封装的语言(Hive,Pig,Cascading)进行处理,进行过滤,转换,聚合,然后把结果导出到一个或者多个外部系统中。

栗子:

做一个网站点击率的基础数据分析,从多个服务器中采集来页面的访问日志,然后将其推送到HDFS,启动一个MapReduce作业,将这些数据作MapReduce的输入,接下来数据将被解析,汇总,以及与Ip地址进行关联计算,最终得到URL,页面访问量和每个cookie的地理位置数据。生成的相关结果可以导入关系型数据库。即席查询(用户根据自己的需求,灵活的选择查询条件,系统能够根据用户查询的选择生成相应的统计报表)此时就可以构建在这些数据上了。分析师可以快速的生成各种报表数据,例如,当前的独立用户数,用户访问量最多的页面,按地区对用户进行拆分及其他的数据汇总。

介绍

HDFS提供了很多基于HDFS FileSystem API之上的Shell命令来实现访问文件系统。Hadoop自带的shell脚本是通过命令行来执行所有操作的,交割脚本名称叫做hadoop。通常安装在$HADOOP_BIN目录下,其中$HADOOP_BIN是Hadoopbin文件的完整安装目录,同时有必要将$HADDOP_BIN配置到¥PATH环境变量中,这样,所有的命令,都可以通过hadoop fs -command 这样的形式来执行。

查看命令

如果需要获取文件系统的所有命令,可以运行hadoop命令传递不带参数的选项fs。最终得到的这些命令的名称与Unix shell命令非常相似,使用help选项可以获取某一项命令的具体说明。例如:hadoop fs -help ls

掌握命令是高效的关键

这里,我们使用Hadoop shell命令将数据导入HDFS中,以及数据从HDFS导出,这些命令更多地用于加载数据,下载处理过的数据,管理文件系统,以及预览相关数据,掌握这些命令就是高效使用HDFS的前提。

展开阅读全文
打赏
0
1 收藏
分享
加载中
更多评论
打赏
0 评论
1 收藏
0
分享
返回顶部
顶部