草庐IT

hadoop - 使用 SQOOP 和 FLUME 将数据从 RDBMS 移动到 Hadoop

我正在学习Hadoop,并且在将数据从关系数据库转移到Hadoop以及从关系数据库转移到Hadoop时坚持了一些概念,反之亦然。我已经使用SQOOP导入查询将文件从MySQL传输到HDFS。我传输的文件是结构化数据集,而不是任何服务器日志数据。我最近读到我们通常使用水槽将日志文件移动到Hadoop中,我的问题是:1.我们是否也可以使用SQOOP来移动日志文件?2.如果是,SQOOP和FLUME哪个更适合用于日志文件?为什么? 最佳答案 1)Sqoop可用于在任何rdbms和hdfs之间传输数据。要使用scoop,数据必须结构化,通常

mysql - 如何使用flume从mysql中读取数据?

如何使用flume连续读取mysql加载到hbase?我熟悉sqoop,但我需要从mysql源不断地做它。是否需要自定义源才能执行此操作? 最佳答案 Sqoop适用于从RDBMS批量导入HDFS/Hive/HBase。如果它只是一次导入,那很好,它实现了它在纸面上的promise。但是当你想要实时增量更新时,问题就来了。Sqoop支持的两种增量更新之间:Append,这个允许你重新运行sqoop作业,每个新作业都从上一个旧作业结束的地方开始。例如。第一个sqoop作业只导入行0-100,然后下一个作业将基于--last-value=

hadoop - Flume - 整个文件可以被视为 Flume 中的事件吗?

我有一个用例,我需要将文件从目录提取到HDFS。作为POC,我在Flume中使用了简单的目录假脱机,我在其中指定了源、接收器和channel,它工作正常。缺点是我必须为进入不同文件夹的多种文件类型维护多个目录,以便更好地控制文件大小和其他参数,同时使配置重复,但很容易。作为替代方案,有人建议我使用正则表达式拦截器,其中多个文件将驻留在单个目录中,并根据文件中的字符串路由到HDFS中的特定目录。我期望的文件类型是CSV文件,其中第一行是标题,后续行是逗号分隔值。考虑到这一点,我有几个问题。拦截器如何处理文件?假定CSV中的标题行类似于ID,Name,下一行是ID和名称,同一目录中的另一个

hadoop - 使用拦截器过滤 Flume 中的日志文件

我有一个写入日志文件的http服务器,然后我使用Flume将其加载到HDFS首先,我想根据标题或正文中的数据过滤数据。我读到我可以使用带有正则表达式的拦截器来做到这一点,有人可以准确解释我需要做什么吗?我是否需要编写覆盖Flume代码的Java代码?我还想获取数据并根据header将其发送到不同的接收器(即source=1转到sink1,source=2转到sink2)这是怎么做到的?谢谢你,西蒙 最佳答案 您不需要编写Java代码来过滤事件。使用RegexFilteringInterceptor过滤正文匹配某些正则表达式的事件:a

hadoop - Apache Sqoop 和 Flume 可以互换使用吗?

我是大数据的新手。来自What'sthedifferencebetweenFlumeandSqoop?的一些答案,Flume和Sqoop都可以从源中拉取数据并推送到Hadoop。任何人都可以指定使用flume和sqoop的确切位置吗?两者都可以用于相同的任务吗? 最佳答案 Flume和Sqoop两者都设计用于处理不同类型的数据源。Sqoop可与任何支持JDBC连接的RDBMS系统一起使用。另一方面,Flume可以很好地处理流式数据源,例如在您的环境中不断生成的日志数据。具体来说,Sqoop可用于将数据导入/导出RDBMS系统,例如O

hadoop - 在发送到 channel 之前删除空的 Flume 事件

我在Flume的一本书上看到,如果在拦截器的intercept方法中有一个事件返回为null,这个事件就会被丢弃。因此,我创建了一个自定义拦截器,它根据条件将事件返回为null,例如:publicEventintercept(Eventevent){//TODOAuto-generatedmethodstubEventfinalEvent=event;check=newString(event.getBody(),Charsets.UTF_8);if(check.matches("([0-9]-.+?-.+?-[0-9][0-9]+)")){try{fileWriter.append(

hadoop - Flume 代理 : add host to message, 然后发布到 kafka 主题

我们开始通过向Kafka主题发布消息来整合应用程序的事件日志数据。虽然我们可以直接从应用程序写入Kafka,但我们选择将其视为一般问题并使用Flume代理。这提供了一些灵active:如果我们想从服务器捕获其他内容,我们可以拖尾不同的来源并发布到不同的Kafka主题。我们创建了一个Flume代理配置文件来跟踪日志并发布到Kafka主题:tier1.sources=source1tier1.channels=channel1tier1.sinks=sink1tier1.sources.source1.type=exectier1.sources.source1.command=tail-

java - 由于 JAR 冲突而无法运行 Flume

我已经手动安装了Flume和Hadoop(我的意思是,不是CDH),我正在尝试运行twitterexample来自Cloudera。在apache-flume-1.5.0-SNAPSHOT-bin目录下,我使用以下命令启动代理:bin/flume-ngagent-cconf-fconf/twitter.conf-Dflume.root.logger=DEBUG,console-nTwitterAgent我的conf/twitter.conf文件使用记录器作为接收器。conf/flume-env.sh将包含twitter源定义的flume-sources-1.0-SNAPSHOT.jar

hadoop - Flume 代理 - 我可以指定像 gzip 或 bz2 这样的压缩吗?

是否可以在Flume代理上指定压缩选项,以便数据以压缩格式传输到收集器?我知道在收集器级别有压缩选项,但如果能够从代理传输压缩数据也将非常有用。谢谢! 最佳答案 Flume具有您可以使用的gzip和gunzip接收器装饰器。将gzip装饰器放在代理接收器上,将gunzip装饰器放在收集器接收器上,然后在代理和收集器之间传输压缩数据应该就可以了。 关于hadoop-Flume代理-我可以指定像gzip或bz2这样的压缩吗?,我们在StackOverflow上找到一个类似的问题:

java - Apache flume 推特代理不流数据

我正在尝试将Twitter提要流式传输到hdfs,然后使用配置单元。但是第一部分,流数据和加载到hdfs不工作,并给出空指针异常。这是我试过的。1.下载apache-flume-1.4.0-bin.tar。提取它。将所有内容复制到/usr/lib/flume/。在/usr/lib/中,我将所有者更改为水槽目录的用户。当我在/usr/lib/flume/中执行ls命令时,它显示binCHANGELOGconfDEVNOTESdocslibLICENSElogsNOTICEREADMERELEASE-NOTEStools2.移动到conf/目录。我将文件flume-env.sh.templ