第1章 Hadoop分布式文件系统——导入和导出数据

本章我们将介绍:

使用Hadoop shell 命令导入和导出数据到HDFS

使用distcp 实现集群间数据复制

使用Sqoop 从MySQL 数据库导入数据到HDFS

使用Sqoop 从HDFS 导出数据到MySQL

配置Sqoop 以支持SQL Server

从HDFS 导出数据到MongoDB

从MongoDB 导入数据到HDFS

使用Pig 从HDFS 导出数据到MongoDB

在Greenplum外部表中使用HDFS

利用Flume 加载数据到HDFS 中

 

1.1 介绍

在一个经典的数据架构中,Hadoop是处理复杂数据流的核心。数据往往是从许多分散的系统中收集而来,并导入 Hadoop 分布式文件系统(HDFS)中,然后通过 MapReduce或者其他基于MapReduce封装的语言(如Hive、Pig和Cascading等)进行处理,最后将这些已经过滤、转换和聚合过的结果导出到一个或多个外部系统中。

举个比较具体的例子,一个大型网站可能会做一些关于网站点击率的基础数据分析。从多个服务器中采集页面访问日志,并将其推送到HDFS中。启动一个MapReduce作业,并将这些数据作为 MapReduce 的输入,接下来数据将被解析、汇总以及与 IP 地址进行关联计算,最终得出URL、页面访问量和每个cookie的地理位置数据。生成的相关结果可以导入关系型数据库中。即席查询(Ad-hoc query) [1]此时就可以构建在这些数据上了。分析师可以快速地生成各种报表数据,例如,当前的独立用户数、用户访问最多的页面、按地区对用户进行拆分及其他的数据汇总。

本章的重点将关注 HDFS数据的导入与导出,主要内容包含与本地文件系统、关系数据库、NoSQL数据库、分布式数据库以及其他Hadoop集群之间数据的互相导入和导出。 ...

Get Hadoop实际解决方案手册 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.