《Hadoop实战手册》一1.11 利用Flume加载数据到HDFS中

1.11 利用Flume加载数据到HDFS中

Apache Flume是Hadoop社区的一个项目,由多个相关项目组成,用于从不同的数据源可靠有效地加载数据流到HDFS中。Flume最常见的一个场景是加载多个数据源的网站日志数据。本节将介绍如何使用Flume加载数据到HDFS中。

准备工作
在本节中假定你已经安装和配置好Flume。

Flume可以从Apache网页(http://incubator.apache.org/flume/)下载。

如果你使用的是CDH3,那么默认已经安装了Flume 0.9.4+25.43的版本。

操作步骤
完成下面的步骤,实现将weblogs数据导入HDFS。

1.使用dump命令测试Flume是否配置正确:

flume dump 'text("/path/to/weblog_entries.txt")'

2.通过Flume shell执行一个配置:

flume shell -c<MASTER_HOST>:<MASTER_PORT> -e 'exec config text("/path/to/
weblog_entries.txt") | collectorSink("hdfs://<NAMENODE_HOST>:<NAMENODE_PORT>/
data/weblogs/flume")'

工作原理
Flume包含Sources8和Sinks9两个抽象概念,并通过管状的数据流将它们合并在一起。在这个例子中,数据来源是text方式,将文件路径作为参数,并将该文件中的内容发送到配置的数据输出端。dump命令使用控制台为数据输出端。按照这样的配置,weblog_entries.txt文件的内容以text的方式被读取,同时被写到控制台。

在步骤2中,使用了Flume shell配置并执行一个作业。-c参数告诉了Flume Master节点的连接地址。Flume将会执行–e参数后面的命令。如前所述,text是一种读取所传文件中所有内容的数据源。collectorSink是一个数据去向,可以传给本地文件系统路径或者HDFS文件系统路径。在前面这个例子中,我们传递的是一个HDFS的路径。这个命令执行的效果会将weblog_entries.txt导入HDFS中。

更多参考
Flume提供了几个预定义的Source和Sink。下面是一些基本的数据源。

  • null:不读取任何数据。
  • stdin:读入一个标准的输入流。
  • rpcSource:读取Thrift或者Avro RPC。
  • text:读取一个文件中的内容。
  • tail:读取一个文件,并保持文件打开状态用于持续读取追加到文件中的数据

下面是一些基本的Sink。

  • null:将数据丢弃,不进行写操作。
  • collectorSink:写到一个本地文件系统或者HDFS上。
  • console:写到控制台。
  • formatDfs:写到HDFS并带一定的格式,如序列化文件、Avro、Thrift等。
  • rpcSink:写给Thrift或者Avro RPC。

1即席查询是用户根据自己的需求,灵活地选择查询条件,系统能够根据用户的选择生成相应的统计报表。

2原文是针对Hadoop 0.20.0 的版本,对目前来说该版本已经很老,Hadoop 1.0 以上的版本put已经可以对文件夹进行复制。
3 Hadoop 0.20.2以上已经支持不同版本间的distcp复制了。——译者注
4“只有map”表示一个作业只启动map阶段没有启动reduce阶段。
5Hadoop ftp文件系统。
6保证MySQL与Hadoop集群中的每个节点间网络是相通的。
7$SQOOP_HOME为SQOOP的安装目录。
8数据来源。
9数据去向。

时间: 2024-09-15 11:44:01

《Hadoop实战手册》一1.11 利用Flume加载数据到HDFS中的相关文章

《Hadoop实战手册》一1.8 从MongoDB导入数据到HDFS

1.8 从MongoDB导入数据到HDFS 本节将使用MongoInputFormat类加载MongoDB中的数据导入HDFS中. 准备工作 使用Mongo Hadoop适配器最简单的方法是从GitHub上克隆Mongo-Hadoop工程,并且将该工程编译到一个特定的Hadoop版本.克隆该工程需要安装一个Git客户端. 本节假定你使用的Hadoop版本是CDH3. Git客户端官方的下载地址是:http://git-scm.com/downloads. 在Windows操作系统上可以通过htt

利用bmob加载数据到listview上,出现问题,求解决啊

问题描述 利用bmob加载数据到listview上,出现问题,求解决啊 使用bmob的菜鸟,写了一个利用bmob把图文数据加载到listview的代码,图片文件是用的bmobfile,我是通过获取它的URL然后进行网络图片下载来加载图片的,但是运行出错了,求解决啊 adapter的代码: public class ClassListAdapter extends BaseAdapter { private Context mContext; private LayoutInflater mInf

《Hadoop实战手册》一导读

前 言 Hadoop实战手册 本书能帮助开发者更方便地使用Hadoop,从而熟练地解决问题.读者会更加熟悉Hadoop相关的各种工具从而进行最佳的实践. 本书指导读者使用各种工具解决各种问题.这些工具包括:Apache Hive.Pig.MapReduce.Mahout.Giraph.HDFS.Accumulo.Redis以及Ganglia. 本书提供了深入的解释以及代码实例.每章的内容包含一组问题集的描述,并对面临的技术挑战提出了解决方案,最后完整地解决了这些问题.每节将单一问题分解成不同的步

《Hadoop实战手册》一第1章 Hadoop分布式文件系统——导入和导出数据

第1章 Hadoop分布式文件系统--导入和导出数据 Hadoop实战手册 本章我们将介绍: 使用Hadoop shell命令导入和导出数据到HDFS 使用distcp实现集群间数据复制 使用Sqoop从MySQL数据库导入数据到HDFS 使用Sqoop从HDFS导出数据到MySQL 配置Sqoop以支持SQL Server 从HDFS导出数据到MongoDB 从MongoDB导入数据到HDFS 使用Pig从HDFS导出数据到MongoDB 在Greenplum外部表中使用HDFS 利用Flum

《Hadoop实战手册》一1.2 使用Hadoop shell命令导入和导出数据到HDFS

1.2 使用Hadoop shell命令导入和导出数据到HDFS HDFS提供了许多shell命令来实现访问文件系统的功能,这些命令都是构建在HDFS FileSystem API之上的.Hadoop自带的shell脚本是通过命令行来执行所有操作的.这个脚本的名称叫做hadoop,通常安装在$HADOOP_BIN目录下,其中$HADOOP_BIN是Hadoopbin文件完整的安装目录,同时有必要将$HADOOP_BIN配置到$PATH环境变量中,这样所有的命令都可以通过hadoop fs -co

wpf利用WindowsFormsHost加载了一个winform窗体,窗体内容变形了

问题描述 wpf利用WindowsFormsHost加载了一个winform窗体,窗体内容变形了 wpf利用WindowsFormsHost加载了一个winform窗体,窗体内容变形了怎么办? 解决方案 该问题已解决,.加载窗体的时候需要设置窗体的 obj.FormBorderStyle = FormBorderStyle.None; obj.StartPosition = FormStartPosition.WindowsDefaultLocation; obj.WindowState = F

工具解析篇:高效利用JS加载.Net程序

本文讲的是工具解析篇:高效利用JS加载.Net程序, 0x00 前言 最近James Forshaw开源了一个工具DotNetToJScript,能够利用JS/Vbs脚本加载.Net程序,很有趣.  Casey Smith和Cn33liz都对此做了进一步研究,开源了他们的利用代码.  本文将要对该技术作系统整理,帮助大家更好的认识. 0x01 简介 本文将要介绍以下内容: 1. DotNetToJScript编译方法 2. DotNetToJScript使用方法 3. 利用JS/Vbs执行she

《Web测试囧事》——1.4 利用JavaScript加载的漏洞提前购买抢购商品

1.4 利用JavaScript加载的漏洞提前购买抢购商品 自从小米手机推出以来,抢购风潮在各类网站上盛行起来,小蔡测试的网站自然也不能免俗,项目组开发的网站也包含了抢购功能. 对于抢购来说,只有到了特定的时间后,商品才会开放并允许抢购,并且抢购网页的代码里使用的时间会定期和服务器进行同步. 小蔡设计了丰富和全面的测试用例,在执行基础测试用例过程中没有发现抢购功能的Bug,不过在进行多地区和多语言的性能测试时,她发现了一个功能上的漏洞,发现漏洞的过程是这样的. 在执行性能测试时,需要选取不同国家

Android中利用动态加载实现手机淘宝的节日特效_Android

相信去年圣诞节打开过手机淘宝的童鞋都会对当时的特效记忆犹新吧:全屏飘雪,旁边还有个小雪人来控制八音盒背景音乐的播放,让人有种身临其境的感觉,甚至忍不住想狠狠购物了呢(误),大概就是下面这个样子滴: 嗯,确实很炫,那么我们一步步去分析是如何实现的: 一.实现下雪的 View 首先,最上面一层的全屏雪花极有可能是一个顶层的View,而这个View是通过动态加载去控制显示的(不更新淘宝也能看到这个效果).那么我们先得实现雪花效果的 View,人生苦短,拿来就用.打开 gank.io,搜索"雪花&quo