hadoop体系的简单学习笔记

Mahout

mahout:运行在hadoop集群上的机器学习库

使用mahout:

  1. 下载,解压安装包

  2. 设置环境变量,编译配置文件

  3. 键入mahout --help命令,检查Mahout是否安装完好

  4. 在hdfs的目标目录中,输入mahout xxxx执行mahout作业

  5. mahout会在根目录建立output新文件夹,保存计算结果

Hive

值得注意的特性:

  • Hive的实时性很差
  • Thrift服务使得不同的编程语言都可以调用Hive接口

Hive 的使用:

  1. 安装SQL
  2. 进入mysql命令行,创建hive用户并赋予所有权限
  3. 使用hive用户登录,创建hive数据库
  4. 安装并部署Hive(包括一系列复杂的配置blablalba…)
  5. 启动metastore和hiveserver服务
  6. 进入hive命令行,使用HQL进行操作。

Pig:

  • Pig 有两种运行模式:

  • Local 模式和 MapReduce 模式。

  • Pig的三种调用方式:

  • Grunt shell方式:通过交互的方式,输入命令执行任务;

  • Pig script方式:通过script脚本的方式来运行任务;

  • 嵌入式方式:嵌入java源代码中,通过java调用来运行任务。

  • Pig的使用

  1. 下载,解压Pig程序,配置环境变量及Pig运行模式,编译配置文件
  2. 启动hadoop集群,在shell中输入pig,看到pig连接到hadoop集群的信息并且进入了grunt shell命令行模式
  3. 然后调用hadoop上传本地文件命令hadoop fs -xxx把该文件传到HDFS上
  4. 在pig shell中输入相关命令,执行job
  5. 在执行过程中可在JobTracker页面观察运行情况
  6. 在hdfs中查看运行结果

Hbase

Hbase在Hadoop体系中的位置:

层级构件描述
HDFS文件系统
Hbase数据库管理系统
Hive高级数据库管理语言(Hive)

HBase访问接口

  • Native Java API,最常规和高效的访问方式,适合Hadoop MapReduce Job并行批处理HBase表数据
  • HBase Shell,HBase的命令行工具,最简单的接口,适合HBase管理使用
    Thrift Gateway,利用Thrift序列化技术,支持C++,PHP,Python等多种语言,适合其他异构系统在线访问HBase表数据
  • REST Gateway,支持REST 风格的Http API访问HBase, 解除了语言限制
  • Pig,可以使用Pig Latin流式编程语言来操作HBase中的数据,和Hive类似,本质最终也是编译成MapReduce Job来处理HBase表数据,适合做数据统计
  • Hive,当前Hive的Release版本尚没有加入对HBase的支持,但在下一个版本Hive 0.7.0中将会支持HBase,可以使用类似SQL语言来访问HBase

Sqoop

Sqoop即 SQL to Hadoop ,是一款方便的在传统关系型数据库与Hadoop之间进行数据迁移的工具,它充分的利用了MapReduce并行特点以批处理的方式加快数据传输。

Flume

Flume是一个分布式、可靠和高可用的海量日志采集、聚合和传输的系统。

Flume的输入端(数据源)可以是:

  • console(控制台)
  • RPC(Thrift-RPC)
  • text(文件)
  • tail(UNIX tail)
  • syslog(syslog日志系统,支持TCP和UDP等2种模式)
  • exec(命令执行)

Flume的输出端可以是:

  • console(控制台)
  • text(文件)
  • dfs(HDFS文件)
  • RPC(Thrift-RPC)
  • syslogTCP(TCP syslog日志系统)
    原文作者:Lokvahkoor
    原文地址: https://www.jianshu.com/p/ba679c7a4ad3
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞