将数据加载到 Hadoop

Loading data into Hadoop

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

第一个问题是:

您的 OLPT 数据库中有用户配置文件记录,您希望将这些记录与您已经摄取到 Hadoop 文件系统中的 Web 日志结合起来。您将如何获得这些用户记录?

一个。 HDFS 命令

乙。猪加载命令

C。 Sqoop 导入

D.配置单元加载数据命令

E.使用 Flume 代理

摄取

F。使用 Hadoop 流式处理

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

第二个问题是:

您想详细了解用户如何浏览您的 public 网站,例如他们在下订单之前访问了哪些页面。您有一个由 200 台 Web 服务器组成的场来托管您的网站。您将如何收集这些数据进行分析?

一个。使用 Flume.

将服务器 Web 日志提取到 HDFS

乙。编写一个 MapReduce 作业,使用用于映射器的 Web 服务器和用于 Reduce 的 Hadoop 集群节点。

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

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

E.从 Web 服务器采样网络日志,使用 curl 将它们复制到 Hadoop。

此处建议的答案是 A 或 B,具体取决于来源...

编辑:

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

用于解析博客的 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);   
   }    
} 

<\编辑>

Gday, D 会很高兴得到这些问题的绝对答案。

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

Question 1:

Answer: C

Explanation: You need to join User profile records and weblogs. Weblogs is already ingested into HDFS.So inorder to join weblogs with user profile,we need to bring user profile also into HDFS.User profile is residing in OLPT database so to import that to HDFS we need the help of SQOOP.


Question 2:

Answer: A

Explanation: You need to gather the information of web servers hosting your website. And you have a farm of 200 web servers hosting your website.so to bring them to HDFS you need the help of FLUME.