更新时间:2024-06-27 GMT+08:00
分享

准备MapReduce样例初始数据

操作场景

在调测程序之前,需要提前准备将待处理的数据。

规划MapReduce统计样例程序数据

将待处理的日志文件放置在HDFS系统中。

  1. 在Linux系统中新建文本文件,将待处理的数据复制到文件中。例如将MapReduce统计样例程序开发思路中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访问多组件样例程序开发思路中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

相关文档