我试图找出这两个问题的正确答案,这两个都是将数据加载到您在Hadoop上找到的问题,这是我在研究中为Hadoop开发所用的材料和案例研究的一部分。
第一个问题是:
您要在OLPT数据库中拥有用户配置文件记录,并希望将其与已经摄取到Hadoop文件系统中的Web日志一起加入。您将如何获得这些用户记录?
A.HDFS命令
B. Pig LOAD命令
C.Sqoop导入
D. Hive LOAD DATA命令
E.摄入水槽剂
F.摄取Hadoop流
我找到了指示不同答案的不同资源作为正确答案(B / C)
第二个问题是:
您想了解有关用户如何浏览您的公共网站的更多信息,例如他们在下订单之前访问了哪些页面。您有200个Web服务器服务器场来托管您的网站。您将如何收集这些数据进行分析?
A.使用Flume将服务器Web记录到HDFS中。
B.编写一个MapReduce作业,其中Web服务器用于映射器,而Hadoop群集节点用于reduce。
C.使用Sqoop将所有用户的点击从OLTP数据库导入到Hadoop。
D.使用Hadoop Streaming在Hadoop上引导这些点击流。
E.对来自Web服务器的Web日志进行采样,然后使用curl将它们复制到Hadoop中。
根据来源,这里建议的答案是A或B。
编辑:
这是对答案B的一种解释,我发现它使我对答案进行了三思:
用于解析Weblog的Hadoop MapReduce以下是使用Hadoop MapReduce解析日志文件的步骤:
使用以下Hadoop命令将日志文件加载到HDFS位置:hadoop fs -put
Opencsv2.3.jar框架用于解析日志记录。
下面是用于从HDFS位置解析日志文件的Mapper程序。
public static class ParseMapper
extends Mapper<Object, Text, NullWritable,Text > {
private Text word = new Text();
public void map(Object key, Text value, Context context)
throws IOException, InterruptedException {
CSVParser parse = new CSVParser(' ','\"');
String sp[]=parse.parseLine(value.toString());
int spSize=sp.length;
StringBuffer rec= new StringBuffer();
for(int i=0;i<spSize;i++){
rec.append(sp[i]);
if(i!=(spSize-1))
rec.append(",");
}
word.set(rec.toString());
context.write(NullWritable.get(), word);
}
}
<\ EDIT>
对于这些问题的获得绝对的答案,Gday,D将非常高兴。
问题1:
答案:C
说明:您需要加入用户个人资料记录和网络日志。Weblogs已经被摄取到HDFS中。因此,为了将Weblogs与用户个人资料一起加入,我们需要将用户个人资料也带入HDFS。用户个人资料位于OLPT数据库中,因此要导入到HDFS中,我们需要SQOOP的帮助。
问题2:
答:A
说明:您需要收集托管您的网站的Web服务器的信息。并且您拥有200个Web服务器场来托管您的网站。因此,要将它们带入HDFS,需要FLUME的帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句