
# 准备MapReduce样例初始数据
#### 操作场景
在调测程序之前，需要提前准备将待处理的数据。
- 运行MapReduce统计样例程序，请参考[规划MapReduce统计样例程序数据]。
- 运行MapReduce访问多组件样例程序，请参考[规划MapReduce访问多组件样例程序数据]。
 
 #### 规划MapReduce统计样例程序数据
将待处理的日志文件放置在HDFS系统中。
1. 在Linux系统中新建文本文件，将待处理的数据复制到文件中。例如将[MapReduce统计样例程序开发思路](https://support.huaweicloud.com/devg3-mrs/mrs_07_150012.html)中log1.txt中的内容复制保存到input_data1.txt，将log2.txt中的内容复制保存到input_data2.txt。
2. 在HDFS上建立一个文件夹"/tmp/input"，并上传input_data1.txt，input_data2.txt到此目录，操作如下： 
   1. 执行以下命令进入HDFS客户端目录并认证用户。 **cd** *HDFS客户端安装目录*
      **source bigdata_env**
      **kinit** *组件业务用户* （该用户需要具有操作HDFS的权限，首次认证需要修改密码）
      
   
   2. 执行以下命令创建"/tmp/input"目录。 **hdfs dfs -mkdir /tmp/input**
      
   
   3. 执行以下命令将已准备好的文件上传至HDFS客户端的"/tmp/input"目录下。 **hdfs dfs -put** *local_filepath* **/input_data1.txt** **/tmp/input**
      **hdfs dfs -put** *local_filepath* **/input_data2.txt** **/tmp/input**
      
   
   
   
   
 
 #### 规划MapReduce访问多组件样例程序数据
1. 创建HDFS数据文件。
   
   1. 在Linux系统中新建文本文件，将待处理的数据复制到文件中。例如将[MapReduce访问多组件样例程序开发思路](https://support.huaweicloud.com/devg3-mrs/mrs_07_150015.html)中log1.txt中的内容复制保存到data.txt。
   
   2. 执行以下命令进入HDFS客户端目录并认证用户。 **cd** *HDFS客户端安装目录*
      **source bigdata_env**
      **kinit** *组件业务用户*（该用户需要具有操作HDFS的权限，首次认证需要修改密码）
      
   
   3. 在HDFS上创建一个文件夹"/tmp/examples/multi-components/mapreduce/input/"，并上传data.txt到此目录，操作如下：
      1. 在HDFS客户端使用以下命令创建目录。 **hdfs dfs -mkdir -p /tmp/examples/multi-components/mapreduce/input/**
         
      
      2. 执行以下命令上传文件至HDFS。 **hdfs dfs -put** *local_filepath* **/data.txt /tmp/examples/multi-components/mapreduce/input/**
         
       
   
   
   
   
2. 创建HBase表并插入数据。 
   1. 执行以下命令进入HBase客户端。 **cd** *HBase客户端安装目录*
      **source bigdata_env**
      **kinit** *组件业务用户*
      **hbase shell**
      
   
   2. 执行以下命令在HBase shell交互窗口创建数据表table1，该表有一个列族cf。 **create 'table1', 'cf'**
      
   
   3. 执行以下命令插入一条rowkey为1、列名为cid、数据值为123的数据。 **put 'table1', '1', 'cf:cid', '123'**
      
   
   4. 执行以下命令退出HBase客户端。 **quit**
      
   
   
   
   
3. 创建Hive表并载入数据。 
   1. 使用以下命令进入Hive客户端。 **cd** *Hive客户端安装目录*
      **source bigdata_env**
      **kinit** *组件业务用户*
      **beeline**
      
   
   2. 执行以下命令在Hive beeline交互窗口创建数据表person，该表有3个字段：name/gender/stayTime。 **CREATE TABLE person(name STRING, gender STRING, stayTime INT) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' stored as textfile;**
      
   
   3. 执行以下命令在Hive beeline交互窗口加载数据文件。 **LOAD DATA INPATH '/tmp/examples/multi-components/mapreduce/input/' OVERWRITE INTO TABLE person;**
      
   
   4. 执行命令**!q**退出。
   
   
   
   
4. 由于Hive加载数据将HDFS对应数据目录清空，所以需再次执行[1]。
 
