将数据加载到Hadoop

探索者

我试图找出这两个问题的正确答案,这两个都是将数据加载到您在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将非常高兴。

温梅莎·斯瑞·凡妮(Unmesha SreeVeni)

问题1:

答案:C

说明:您需要加入用户个人资料记录和网络日志。Weblogs已经被摄取到HDFS中。因此,为了将Weblogs与用户个人资料一起加入,我们需要将用户个人资料也带入HDFS。用户个人资料位于OLPT数据库中,因此要导入到HDFS中,我们需要SQOOP的帮助


问题2:

答:A

说明:您需要收集托管您的网站的Web服务器的信息。并且您拥有200个Web服务器场来托管您的网站。因此,要将它们带入HDFS,需要FLUME的帮助

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章