导航:首页 > 净水问答 > hadoop过滤数据

hadoop过滤数据

发布时间:2022-01-20 05:27:04

A. 如何清洗存储在hadoop(HDFS)中的原始数据

都可以,看你自己用哪个顺手
目前主流的会使用spark

B. 如何清理hadoop过期历史数据

hadoop 添加删除datanode及tasktracker

首先:

建议datanode和tasktracker分开写独立的exclude文件,因为一个节点即可以同时是datanode和tasktracker,也可以单独是datanode或tasktracker。

1、删除datanode

修改namenode上的hdfs-site.xml

dfs.hosts

/usr/local/hadoop/conf/datanode-allow-list

dfs.hosts.exclude

/usr/local/hadoop/conf/datanode-deny-list

其中dfs.host列出了连入namenode的节点,如果为空,则所有的datanode都可以连入namenode。如果不为空,则文件中存在的datanode可以连入。

dfs.hosts.exclude列出了禁止连入namenode的节点。

如果一个节点同时存在于dfs.hosts和dfs.hosts.exclude,则禁止连入。

具体步骤

(1)将要删除的datanode加入到dfs.hosts.exclude指定的文件中。(最好使用主机名,IP有时可能不生效)

(2)动态刷新配置,不需要重启namenode

hadoop dfsadmin -refreshNodes

(3)通过hadoop dfsadmin -report或webui,可以看到,该datanode的状态为Decommissioning

(4)等待一段时间,该节点为dead状态。

(5)删除dfs.hosts文件中该节点 即下架目标机器后,再次编辑dfs.hosts.exclude,把刚才下架的机器的ip或机器名移走

(6)

hadoop dfsadmin -refreshNodes

注:按照上面的操作后,如果你想要重新启用该节点为datanode,从dfs.hosts.exclude中删除该节点,refreshNodes,然后,到该节点上,重启启动该datanode:

/usr/local/hadoop/bin/hadoop-daemon.sh stop datanode

/usr/local/hadoop/bin/hadoop-daemon.sh start datanode

注:正确的删除datanode的方法应该是按照上面的方法,使用exclude文件,而不应该直接去datanode上去sotp
datanode,这样会造出数据丢失,而且stop以后,webui和hadoop dfsadmin
-report都仍然显示该datanode节点。除非重新启动namenode。

之所以重新启用exclude的节点时可以stop
datanode,因为此时该datanode不包含在cluster中,所以,stop后不会造成数据丢失。

2、添加datanode

如果存在dfs.hosts文件,且不为空,则添加新的datanode到该文件中,refreshNodes。

到新节点上,启动即可

/usr/local/hadoop/bin/hadoop-daemon.sh start datanode

如果不存在dfs.hosts文件,或文件为空,直接启动新节点即可。

3、删除tasktracker

原理和步骤与删除datanode一样。

mapred.hosts

/usr/local/hadoop/conf/tasktracker-allow-list

mapred.hosts.exclude

/usr/local/hadoop/conf/tasktracker-deny-list

动态刷新配置的命令为:

hadoop mradmin -refreshNodes

立刻生效,可以在webui中看到,nodes节点数量的变化,以及Excluded Nodes节点的变化。

具体的步骤参考上面的删除datanode的步骤

注:按照上面的操作后,如果你想要重新启用该节点为tasktracker,从mapred.hosts.exclude中删除该节点,refreshNodes,然后,到该节点上,重启启动该tasktracker:

/usr/local/hadoop/bin/hadoop-daemon.sh stop tasktracker

/usr/local/hadoop/bin/hadoop-daemon.sh start tasktracker

注:正确的删除tasktracker的方法应该是按照上面的方法,使用exclude文件,而不应该直接去tasktracker上去sotp
tasktracker,这样会造成job失败,而且stop以后,webui上仍然显示该tasktracker节点。除非重新启动jobtracker。

我遇到的一个问题:

在exclude文件中,我使用了IP,发现tasktracker仍然参与计算。

在webui中发现,Excluded Nodes中存在该IP,Nodes中仍然存在该tasktracker的hostname。

解决的办法就是,在exclude中使用hostname而不使用IP。

判断是否真正生效:如果exclued文件中正确的填写了要失效的node,则总得nodes数量应该减小。

4、添加tasktracker

如果存在mapred.hosts文件,且不为空,则添加新的tasktracker到该文件中,refreshNodes。

到新节点上,启动即可

/usr/local/hadoop/bin/hadoop-daemon.sh start tasktracker

如果不存在mapred.hosts文件,或文件为空,直接启动新节点即可。

6、添加或删除datanode后,平衡磁盘利用率

运行bin/start-balancer.sh,这个会很耗时间

备注:

如果不balance,那么cluster会把新的数据都存放在新的node上,这样会降低mr的工作效率;

/usr/local/hadoop/bin/start-balancer.sh -threshold 0.1

7下架目标机器后,再次编辑mapred.hosts.exclude,把刚才下架的机器的ip或机器名移走

threshold 是平衡阈值,默认是10%,值越低各节点越平衡,但消耗时间也更长。

balancer也可以在有mr job的cluster上运行,默认dfs.balance.bandwidthPerSec很低,为1M/s。在没有mr
job时,可以提高该设置加快负载均衡时间。

在namenode的hdfs-site.xml中增加设置balance的带宽,默认只有1M:

dfs.balance.bandwidthPerSec

10485760Specifies themaximum bandwidth that each datanode can utilize for
the balancing purpose interm of the number of bytes per second.

C. 如何让Hadoop结合R语言做大数据分析

R语言和Hadoop让我们体会到了,两种技术在各自领域的强大。很多开发人员在计算机的角度,都会提出下面2个问题。问题1: Hadoop的家族如此之强大,为什么还要结合R语言?
问题2: Mahout同样可以做数据挖掘和机器学习,和R语言的区别是什么?下面我尝试着做一个解答:问题1: Hadoop的家族如此之强大,为什么还要结合R语言?

a. Hadoop家族的强大之处,在于对大数据的处理,让原来的不可能(TB,PB数据量计算),成为了可能。
b. R语言的强大之处,在于统计分析,在没有Hadoop之前,我们对于大数据的处理,要取样本,假设检验,做回归,长久以来R语言都是统计学家专属的工具。
c. 从a和b两点,我们可以看出,hadoop重点是全量数据分析,而R语言重点是样本数据分析。 两种技术放在一起,刚好是最长补短!
d. 模拟场景:对1PB的新闻网站访问日志做分析,预测未来流量变化
d1:用R语言,通过分析少量数据,对业务目标建回归建模,并定义指标d2:用Hadoop从海量日志数据中,提取指标数据d3:用R语言模型,对指标数据进行测试和调优d4:用Hadoop分步式算法,重写R语言的模型,部署上线这个场景中,R和Hadoop分别都起着非常重要的作用。以计算机开发人员的思路,所有有事情都用Hadoop去做,没有数据建模和证明,”预测的结果”一定是有问题的。以统计人员的思路,所有的事情都用R去做,以抽样方式,得到的“预测的结果”也一定是有问题的。所以让二者结合,是产界业的必然的导向,也是产界业和学术界的交集,同时也为交叉学科的人才提供了无限广阔的想象空间。问题2: Mahout同样可以做数据挖掘和机器学习,和R语言的区别是什么?

a. Mahout是基于Hadoop的数据挖掘和机器学习的算法框架,Mahout的重点同样是解决大数据的计算的问题。
b. Mahout目前已支持的算法包括,协同过滤,推荐算法,聚类算法,分类算法,LDA, 朴素bayes,随机森林。上面的算法中,大部分都是距离的算法,可以通过矩阵分解后,充分利用MapRece的并行计算框架,高效地完成计算任务。
c. Mahout的空白点,还有很多的数据挖掘算法,很难实现MapRece并行化。Mahout的现有模型,都是通用模型,直接用到的项目中,计算结果只会比随机结果好一点点。Mahout二次开发,要求有深厚的JAVA和Hadoop的技术基础,最好兼有 “线性代数”,“概率统计”,“算法导论” 等的基础知识。所以想玩转Mahout真的不是一件容易的事情。
d. R语言同样提供了Mahout支持的约大多数算法(除专有算法),并且还支持大量的Mahout不支持的算法,算法的增长速度比mahout快N倍。并且开发简单,参数配置灵活,对小型数据集运算速度非常快。
虽然,Mahout同样可以做数据挖掘和机器学习,但是和R语言的擅长领域并不重合。集百家之长,在适合的领域选择合适的技术,才能真正地“保质保量”做软件。

如何让Hadoop结合R语言?

从上一节我们看到,Hadoop和R语言是可以互补的,但所介绍的场景都是Hadoop和R语言的分别处理各自的数据。一旦市场有需求,自然会有商家填补这个空白。

1). RHadoop

RHadoop是一款Hadoop和R语言的结合的产品,由RevolutionAnalytics公司开发,并将代码开源到github社区上面。RHadoop包含三个R包 (rmr,rhdfs,rhbase),分别是对应Hadoop系统架构中的,MapRece, HDFS, HBase 三个部分。

2). RHiveRHive是一款通过R语言直接访问Hive的工具包,是由NexR一个韩国公司研发的。

3). 重写Mahout用R语言重写Mahout的实现也是一种结合的思路,我也做过相关的尝试。

4).Hadoop调用R

上面说的都是R如何调用Hadoop,当然我们也可以反相操作,打通JAVA和R的连接通道,让Hadoop调用R的函数。但是,这部分还没有商家做出成形的产品。

5. R和Hadoop在实际中的案例

R和Hadoop的结合,技术门槛还是有点高的。对于一个人来说,不仅要掌握Linux, Java, Hadoop, R的技术,还要具备 软件开发,算法,概率统计,线性代数,数据可视化,行业背景 的一些基本素质。在公司部署这套环境,同样需要多个部门,多种人才的的配合。Hadoop运维,Hadoop算法研发,R语言建模,R语言MapRece化,软件开发,测试等等。所以,这样的案例并不太多。

D. hadoop处理的数据从哪里来

淘宝api或者其他,都有每天调用次数限制,你看《hadoop实战》,里面有提到数据来源,书你就别看了,都是hadoop 0.20版本的,基本上现在代码都不那么写了,你可以上网找电子版,然后前几章,就有数据地址

E. hadoop节点中的数据多久清理一次

dn目录存储的都是数据文件,你要说清理,那就是这些数据已经没用了,我看到你用的是CDH安装,如果不想要数据了,完全可以重建集群。如果你要保留数据文件,那可能就要考虑调整副本数了,默认是3,以下的命令会把hadoop文件副本改为1,可以节省三分之二的空间,要注意:只有一个副本的数据是有风险的,损坏就OVER了hadoopfs-setrep-R1/

F. hadoop中大数量取前100条数据怎么取

你是说hadoop还是hive?hadoop的话用java编程,里边取前100行,hive的话在语句后边加上 limit 100,跟mysql差不多。

G. hadoop dn目录的数据如何清理

dn目录存储的都是数据文件,你要说清理,那就是这些数据已经没用了,
我看到你用的是CDH安装,如果不想要数据了,完全可以重建集群。

如果你要保留数据文件,那可能就要考虑调整副本数了,默认是3,以下的命令会把hadoop文件副本改为1,可以节省三分之二的空间,要注意:只有一个副本的数据是有风险的,损坏就OVER了
hadoop fs -setrep -R 1 /

H. 怎么使用hadoop 处理数据

这个返回的entity的成员值还是初始化状态,服务器的代码好像没有修改,web services explorer里的soap信息如下
- <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <soap:Body>
- <getEnResponse xmlns="http://test">
<out />
</getEnResponse>
</soap:Body>
</soap:Envelope>

I. hadoop分布式系统里面的数据是怎么查询的

不对,应该说A、B、C是成为了一体,并不是共享。文件可能存在A点,备份在B点;或者存在B点,备份在C点和A点各一份。具体存在哪里,怎么存,备份在哪里都是hadoop自有的机制控制的,所以serverroot目录下如果看到500G的资源,三台机器加起来估计得有(500*3)G的资源,算上备份。

J. 如何删除服务器上hadoop的数据

用命令行bin/Hadoop fs -rm(r) 可以删除hdfs上的文件(夹)
用HDFS的API也是可以的。如下:
import java.net.URI;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
public class FileDelete
{
public static void main(String[] args) throws Exception
{
if(args.length != 1){
System.out.println("Usage filedelete <target>");
System.exit(1);
}
Configuration conf = new Configuration();
FileSystem hdfs = FileSystem.get(URI.create(args[0]),conf);
hdfs.delete(new Path(args[0]),false);
}
}

阅读全文

与hadoop过滤数据相关的资料

热点内容
初中蒸馏装置图 浏览:131
学校的饮水机为什么有的不响 浏览:506
化妆棉可以过滤油吗 浏览:305
湖州污水处理设备公司 浏览:303
工业水处理录用快不快 浏览:796
浙江嵊州君集污水处理 浏览:858
f比m在污水处理厂里是什么意思 浏览:16
旧反渗透膜回收回去干什么 浏览:651
树脂摆锤式冲击试验机 浏览:320
18款宝来用什么型号机油滤芯 浏览:622
饮水机插电里面有响声怎么回事 浏览:358
空气净化器3c需要什么证书 浏览:559
古马隆树脂的化学结构 浏览:610
净化器热水灯亮却不是热水怎么办 浏览:59
大型污水处理厂设备清单 浏览:706
植物细胞半透膜由构成 浏览:323
离子交换法制备三氧化钼 浏览:658
奥拓怎么拆机油滤芯 浏览:251
反渗透膜在环保行业的应用 浏览:834
杭州回梅河口用隔离吗 浏览:2