首页 文章

将数据加载到Hadoop中

提问于
浏览
1

我试图找出这两个问题的正确答案,这两个问题都涉及将数据加载到我在网上找到的Hadoop,作为我研究Hadoop开发的材料和案例研究的一部分 .

第一个问题是:

You have user profile records in your OLPT database, that you want to join with web logs you have already ingested into the Hadoop file system. How will you obtain these user records?

A. HDFS命令

B. Pig LOAD命令

C. Sqoop进口

D. Hive LOAD DATA命令

E.用Flume剂摄取

F.使用Hadoop Streaming进行摄取

我发现不同的资源表明不同的答案作为正确的答案(B / C)

第二个问题是:

You want to understand more about how users browse your public website, such as which pages they visit prior to placing an order. You have a farm of 200 web servers hosting your website. How will you gather this data for your analysis?

A.使用Flume将服务器Web日志提取到HDFS .

B.编写MapReduce作业,使用映射器的Web服务器,并减少Hadoop集群节点 .

C.使用Sqoop将所有用户的点击从OLTP数据库导入Hadoop .

D.使用Hadoop Streaming将这些点击流引入Hadoop .

E.从Web服务器中对Weblog进行采样,使用curl将它们复制到Hadoop中 .

这里建议的答案是A或B,取决于来源......

EDIT:

这是对答案B的解释,我发现这让我对答案三思而后行:

用于解析Weblog的Hadoop MapReduce以下是使用Hadoop MapReduce解析日志文件的步骤:

使用此Hadoop命令将日志文件加载到HDFS位置:hadoop fs -put

Opencsv2.3.jar框架用于解析日志记录 .

下面是Mapper程序,用于从HDFS位置解析日志文件 .

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 .

2 回答

  • 2

    问题1:答案:C说明:您需要加入用户 Profiles 记录和博客 . Weblog已经被摄入HDFS.So为了将weblog与用户配置文件连接起来,我们还需要将用户配置文件也带入HDFS.User配置文件驻留在OLPT数据库中,以便将其导入HDFS我们需要SQOOP的帮助 .


    问题2:答案:A说明:您需要收集托管您网站的Web服务器的信息 . 你有一个由200个网络服务器托管你的网站的农场 . 所以要把它们带到HDFS,你需要FLUME的帮助 .

  • 1

    1是C. Sqoop是从数据库摄取到hdfs的方法 . 它是为此目的而构建和优化的 . 2是A.同样,实时收集大量博客是一个常见的Flume用例 .

相关问题