hbase

【14笔记】HBase实战--微博案例

ⅰ亾dé卋堺 提交于 2020-03-07 03:07:45
1、需求分析 1、微博内容的浏览,数据库表设计 2、用户社交体现:关注用户,取关用户 3、拉取关注的人的微博内容 2、代码设计 1)创建命名空间以及表名的定义 2)创建微博内容表 3)创建用户关系表 4)创建用户微博内容接收邮件表 5)发布微博内容 6)添加关注用户 7)移除(取关)用户 8)获取关注的人的微博内容 9)测试 1)创建命名空间以及表名的定义 //获取配置conf private Configuration conf = HBaseConfiguration . create ( ) ; //微博内容表的表名 private static final byte [ ] TABLE_CONTENT = Bytes . toBytes ( "weibo:content" ) ; //用户关系表的表名 private static final byte [ ] TABLE_RELATIONS = Bytes . toBytes ( "weibo:relations" ) ; //微博收件箱表的表名 private static final byte [ ] TABLE_RECEIVE_CONTENT_EMAIL = Bytes . toBytes ( "weibo:receive_content_email" ) ; public void initNamespace (

Hbase多列范围查找(效率)

天大地大妈咪最大 提交于 2020-03-06 18:57:13
Hbase索引表的结构 Hbase Rowkey 设计 Hbase Filter Hbase二级索引 Hbase索引表的结构    在HBase中,表格的Rowkey按照字典排序,Region按照RowKey设置split point进行shard,通过这种方式实现的全局、分布式索引,成为了其成功的最大的砝码   每一个索引建立一个表,然后依靠表的row key来实现范围检索。row key在HBase中是以B+ tree结构化有序存储的,所以scan起来会比较效率。 单表以row key存储索引,column value存储id值或其他数据 ,这就是Hbase索引表的结构。   Hbase QualifierFilter用于过滤qualifier,也就是一个列族里面data:xxx,冒号后面的字符串 Hbase Rowkey 设计   大数据最好从rowkey入手,ColumnValueFilter的数度是很慢的,hbase查询速度还是要依靠rowkey,所以根据业务逻辑把rowkey设计好,之后所有的查询都通过rowkey,是会非常快。 批量查询最好是用 scan的startkey endkey来做查询条件   rowkey是hbase中很重要的一个设计,如果你把它当成普通字段那你的设计就有点失败了。它的设计可以说是一门艺术。你的查询如果不能把rowkey加入进来

Pinpoint 分布式请求跟踪系统的搭建

痴心易碎 提交于 2020-03-05 15:02:51
Pinpoint 是用 Java 编写的大规模分布式系统性能管理工具, 可以跟踪请求, 硬件信息收集, 请求时间统计等等 项目主页: https://github.com/naver/pinp... 前提 有分布式部署的项目可供测试 至少一台服务器 Java、Hbase、Zookeeper、Tomcat 环境 说明 个人不喜欢 hbase 自带的 zk ,如无癖好, 可随意 本文不讲解基础环境的搭建, 如不会,请自行搜索或者参考博客的其他文章 为避免部分端口不通等可疑问题, 建议关闭防火墙 下载 wget https://github.com/naver/pinpoint/releases/download/1.6.2/pinpoint-agent-1.6.2.tar.gz wget https://github.com/naver/pinpoint/releases/download/1.6.2/pinpoint-collector-1.6.2.war wget https://github.com/naver/pinpoint/releases/download/1.6.2/pinpoint-web-1.6.2.war wget https://raw.githubusercontent.com/naver/pinpoint/master/hbase/scripts/hbase

Bigtable import error

断了今生、忘了曾经 提交于 2020-03-05 07:26:01
问题 I generated a sequence file using hive and trying to import it in bigtable, my import job is failing with the error below. 2015-06-21 00:05:42,584 INFO [AsyncDispatcher event handler] org.apache.hadoop.mapreduce.v2.app.job.impl.TaskAttemptImpl: Diagnostics report from attempt_1434843251631_0007_m_000000_1: Error: java.lang.ClassCastException: org.apache.hadoop.io.BytesWritable cannot be cast to org.apache.hadoop.hbase.io.ImmutableBytesWritable at com.google.cloud.bigtable.mapreduce.Import

Bigtable import error

一世执手 提交于 2020-03-05 07:24:30
问题 I generated a sequence file using hive and trying to import it in bigtable, my import job is failing with the error below. 2015-06-21 00:05:42,584 INFO [AsyncDispatcher event handler] org.apache.hadoop.mapreduce.v2.app.job.impl.TaskAttemptImpl: Diagnostics report from attempt_1434843251631_0007_m_000000_1: Error: java.lang.ClassCastException: org.apache.hadoop.io.BytesWritable cannot be cast to org.apache.hadoop.hbase.io.ImmutableBytesWritable at com.google.cloud.bigtable.mapreduce.Import

Sqoop安装配置及数据导入导出

亡梦爱人 提交于 2020-03-04 07:30:58
前置条件 已经成功 安装配置Hadoop 和Mysql 数据库服务器,如果将数据导入或从Hbase导出,还应该已经成功安装配置Hbase。 下载sqoop 和Mysql 的JDBC 驱动 sqoop-1.2.0-CDH3B4.tar.gz : http://archive.cloudera.com/cdh/3/sqoop-1.2.0-CDH3B4.tar.gz mysql-connector-java-5.1.28 安装sqoop [hadoop@appserver ~]$ tar -zxvf sqoop-1.2.0-CDH3B4.tar.gz 配置环境变量 拷贝 Hadoop 核心包和 MYSQL 驱动包到 sqoop 的 lib 目录 [hadoop@appserver ~]$ cp hadoop-1.1.2/hadoop-core-1.1.2.jar sqoop-1.2.0-CDH3B4/lib/ [hadoop@appserver ~]$ cp mysql-connector-java-5.1.28-bin.jar sqoop-1.2.0-CDH3B4/lib/ 配置sqoop-1.2.0-CDH3B4/bin/configure-sqoop 文件 注释掉hbase和zookeeper检查(除非准备使用HABASE等HADOOP组件) 启动hadoop 集群 启动mysql

HBASE——使用MR,将HBASE中的数据写入HDFS,将HDFS中的数据写入HBASE:

六月ゝ 毕业季﹏ 提交于 2020-03-04 04:20:03
1、将HBASE中的数据使用MR写入HDFS hadoop jar /ajar/Hbase2Hdfs.jar hbase_mr.Hbase2Hdfs /hbase2hdfs package hbase_mr; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import org.apache.hadoop.hbase.Cell; import org.apache.hadoop.hbase.CellScanner; import org.apache.hadoop.hbase.CellUtil; import org.apache.hadoop.hbase.client.Result; import org.apache.hadoop.hbase.client.Scan; import org.apache.hadoop.hbase.io.ImmutableBytesWritable; import org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil; import org.apache.hadoop.hbase.mapreduce

hadoop3.2.1+hive3.1.2+scala2.12.10+spark3.0.0+zookeeper3.5.7+hbase2.0.6安装教程(亲测成功)

吃可爱长大的小学妹 提交于 2020-03-03 18:48:15
概述:学习hadoop大数据,安装hadoop生态圈的相关软件全过程 本文是根据网上的安装教程,结合小白自身安装经历,一步一步踩坑安装成功的。在安装过程中出现了诸多问题,如环境配置、版本不一致、权限等。折腾了两天之后,成功安装了hadoop/hive/scala/spark/zookeeper/hbase,因此写此博客保存安装记录,以便后续再安装更熟练,也分享给大家安装经历。本文适合完全没有安装过hadoop及其相关组件的用户,高手请忽略。我们开始吧! 准备 安装环境: Windows10+VMWare15(ubuntu18.04) hadoop相关组件各版本: hadoop3.2.1,hive3.1.2,scala2.12.10,spark3.0.0,zookeeper3.5.7,hbase2.0.6 安装包地址: 用国内镜像源,推荐一个速度快的,清华镜像 https://mirrors.tuna.tsinghua.edu.cn/apache 注意:hadoop3.2.1,hive3.1.2,spark3.0.0,zookeeper3.5.7可以在清华镜像网中下载,而没有hbase2.0.6这个版本(下载地址 https://archive.apache.org/dist/hbase/2.0.6/ ) scala下载地址: https://www.scala-lang.org

HBase数据结构

匆匆过客 提交于 2020-03-03 08:00:23
1. RowKey 与NoSql数据库一样,RowKey是用来检索记录的主键,访问HBase 表中的行,只有三种方式: 1. 通过单个RowKey访问(get) 2. 通过RowKey的范围(正则,like) 3. 全表扫描(scan) RowKey:可以是任意字符串(最大长度64KB,实际应用中长度一般为 10-100bytes),在HBase内部,RowKey保存为 字节数组 。 数据按照RowKey的字典序(byte order)排序存储。设计RowKey时,要充分利用 排序存储 这个特性,将经常一起读取的行存储放到一起。(位置相关性) 2. ColumnFamily 列族:HBASE表中的每个列,都归属于某个列族。 列族是表的schema的一部 分(而列不是),必须在使用表之前定义(创建表时,必须指定列族)。 列名都以列族作为前缀。例如: 'info:name', 'info:sex' 都属于 info 这个列族。 3. Cell 由{RowKey, Column Family,VERSION} 唯一确定的单元,cell中的数据是没有类型的,全部都是 字节码 形式存储. 4. TimeStamp HBASE 中通过rowkey和columns确定的为一个存贮单元称为cell。每个 cell都保存 着同一份数据的多个版本。版本通过时间戳来索引。时间戳的类型是 64位整型。