Category Archives: HBase|Hive

Sqoop常用操作

该脚本由香打小伙伴整理。
首先保证HDFS和HiveServer2正常运行,集群运行在debugo01,debugo02,debugo03三台主机上。

1. 准备mysql数据

在debugo03的MySQL中新建一个测试数据库,并建测试表employee_salary。

Continue reading

Posted in BigData, HBase|Hive.

OpenTSDB部署手记

OpenTSDB是一个基于HBase上的实时监控信息收集和展示平台。它支持秒级数据采集metrics,使用HBase进行永久存储,可以做容量规划,并很容易的接入到现有的监控系统里。OpenTSDB可以从大规模的设备中获取相应的metrics并进行存储、索引以及服务,从而使得这些数据更容易让人理解,如web化,图形化等。 Continue reading

Posted in BigData, HBase|Hive, NoSQL, Tools.

HBase目录结构与Compaction

我们首先查看一下HDFS中的HBASE存储,可以找到其中几个目录

临时文件 /hbase/.tmp
归档 /hbase/archive
WAL日志 /hbase/WALs/debugo01 …
数据 /hbase/data//
Continue reading

Posted in BigData, HBase|Hive.

使用importtsv命令加载数据

Bulkload是向HBase批量加载数据的方式,它会直接将数据进行准备和并加载成HFile,并直接讲文件插入到RegionServer中,这比通过一个MapReduce/Spark作业来加载性能高得多。详细的流程如下:
1. 抽取数据并形成固定格式的文件,比如csv。
2. 将数据转换称为HFile。这需要一个MapReduce作业,可以自己来实现Map方法来,HBase来完成后面的Reducer操作。最后,每一个region的HFile将会在输出目录被创建出来。
3. 将生成的HFile加载到HBase中,并在所有的regionserver上注册它们,即完成Complete Bulkload阶段。
Continue reading

Posted in BigData, HBase|Hive, NoSQL.

HBase 权限控制

HBase的权限管理依赖协协处理器。所以我们需要配置hbase.security.authorization=true,以及hbase.coprocessor.master.classeshbase.coprocessor.master.classes使其包含org.apache.hadoop.hbase.security. access.AccessController来提供安全管控能力。所以需要设置下面参数:

Continue reading

Posted in BigData, HBase|Hive, NoSQL.

HBase 常用参数整理

1. 通用和master配置

hbase.rootdir
默认: file:///tmp/hbase-${user.name}/hbase
region server的数据根目录,用来持久化HBase。例如,要表示hdfs中的’/hbase’目录,namenode 运行在debugo01的8020端口,则需要设置为hdfs:// debugo01:8020/hbase。这个是必须要设置的项目,默认值本地文件系统的/tmp只能在单机模式使用。 Continue reading

Posted in BigData, HBase|Hive, NoSQL.

HBase Shell 常用操作

HBase Shell是HBase的一个命令行工具,我们可以通过它对HBase进行维护操作。我们可以使用sudo -u hbase hbase shell来进入HBase shell。
在HBase shell中,可以使用status, version和whoami分别获得当前服务的状态、版本、登录用户和验证方式。

HBase shell中的帮助命令非常强大,使用help获得全部命令的列表,使用help ‘command_name’获得某一个命令的详细信息。 Continue reading

Posted in BigData, HBase|Hive, NoSQL.

Hive点滴 – 查询练习

本文学习一下Hive中的一些查询技巧。

初始化数据

首先创建我们所需的数据库:

第一个表定义了一张标识日期的纬度表。通过日期的ID可以找到该日期的年月,年,月,日,星期几,第几周,第几季度,旬、半月等信息

第二个表文件定义了订单的相关信息,主要字段有订单序号,交易地点ID,交易日期ID。

第三章表定义了订单详细信息,其内容包括:订单号,行号,货品,数量,金额。

下面将数据加载到三个表中:

检查数据:

通过HQL完成数据校验

在ETL中可能出现一些不正确的数据,比如OrderDetails和OrderList中信息不匹配。我们可以通过HQL语句来找到这些数据。

这可能出现没有正确的dateid字段的订单。我们下面通过一个not in语句来找到这些订单!
select a.* from sales.OrderList a where a.dateid not in (select dateid from sales.DateList);
1

通过HQL完成报表统计

统计所有订单中每年的销售单数、销售增额。

2
所有订单中销售最高的季度前n名

3
列出销售金额在100000以上的订单

4
找出订单中每年最畅销的商品
第一步:找到按年、商品id进行的统计汇总

第二步: 找到每年最大的商品销量

5
第三步:通过连接获得itemid

6

^^

Posted in BigData, HBase|Hive.

通过Squrirel连接Hive

SQuirrel SQL Client是一个用Java写的数据库客户端,用JDBC统一数据库访问接口以后,可以通过一个统一的用户界面来操作MySQL,MSSQL,Greenplum,Hive等等任何支持JDBC访问的数据库。使用起来非常方便。
1. 安装
下载地址: http://squirrel-sql.sourceforge.net/ 最新安装包:squirrel-sql-3.5.3-standard.jar及驱动jar包,此外我们还需要$HIVE_HOME/lib下的相关jar驱动包。安装需要依赖于JRE环境,直接双击squirrel-sql-3.5.3-standard.jar文件来执行安装程序。安装过程可以根据自己需要选择插件。
1
2. 添加JDBC Driver
安装完成后,运行squirrel-sql.bat,进入图形界面。此时我们还需要添加Hive的driver连接驱动程序。在Driver标签中添加新的driver。在external标签中添加了jar包后,通过list driver来选择jdbc.HiveDriver。
2
3. 登录Hive
完成后,我们在alias标签中建立一个hive连接的快捷别名:
3
完成后,我们可以查看Hive的schema以及通过SQL标签页来执行查询,非常方便。
4

^^

Posted in BigData, HBase|Hive.

Hive点滴 – 单行转多行(split)

很多数据标签都是有在一个字段中有多条信息,而这些信息如果能直接在HQL中解析多行,无疑是极好滴。一个简单的栗子:

我们插入一条数据
tag1 value1,value2,value3
普通模式查询:

通过split来拆分为多行,非常的方便。

^^

Posted in BigData, HBase|Hive.