自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

vicleev的博客

技术学习、总结、分享

  • 博客(32)
  • 收藏
  • 关注

原创 Hbase的预分区及RowKey的设计

1. 为什么要使用预分区HBase默认建表时有一个region,这个region的rowkey是没有边界的,即没有startkey和endkey。在数据写入时,所有数据都会写入这个默认的region。随着数据量的不断增加,这个默认的region会越来越大,当达到某个阈值会自动split成为2个region。2. 不使用预分区存在的问题写热点问题(所有新数据都往一个region上写);...

2018-10-10 16:44:46 2340

原创 JAVA学习笔记

1. StringUtils.leftPad()# 生成长度为多少位的数据,以什么进行补位StringUtils.leftPad(数据,生成数据的长度,以什么补位);

2018-10-10 15:02:42 155

转载 Phoenix相关

非常好的一篇文章,值得学习。参见:https://www.cnblogs.com/kekukekro/p/6339587.html#wiz_toc_21

2018-10-09 20:34:06 220

原创 Hbase&Phoenix学习笔记

查看某张Hbase表在HDFS中的存储情况hadoop fs -ls /apps/hbase/data/data/h3c/log_suspect_track_history_spark/hadoop fs - ls /apps/hbase/data/data/h3c/log_suspect_track_history_spark/统计某张Hbase表中ROW_KEY的分布情况./h...

2018-10-09 19:04:03 323

原创 Phoenix使用SALT_BUCKETS创建预分区

1. 基础知识Phoenix Salted Table是phoenix为了防止hbase表rowkey设计为自增序列而引发热点region读和热点region写而采取的一种表设计手段。通过在创建表的时候指定SALT_BUCKETS来实现pre-split(预分割)。如下表示创建表的时候将表预分割到20个region里面。CREATE TABLE SALT_TEST (a_key VARCHAR...

2018-10-09 17:37:36 5625

转载 Phoenix性能优化

1. 建表优化Salting 翻译成中文是加盐的意思,本质是在hbase的rowkey的byte数组的第一个字节位置设定一个系统生成的byte值, 这个byte值是由主键生成rowkey的byte数组做一个哈希算法,计算得来的。Salting之后可以把数据分布到不同的region上,这样有利于phoenix并发的读写操作。示例:CREATE TABLE TEST (HOST VARCHAR...

2018-10-09 14:56:27 1864

转载 大数据查询——HBase读写设计与实践

参见:https://mp.weixin.qq.com/s?__biz=MzA3MDY0NTMxOQ==&mid=2247484239&idx=1&sn=93c55d3a91f6ff9646389755844cabe7&chksm=9f38e067a84f697182d978ba8c3d89a4b3b7349beccbf070a9dc958b5738a83e6c...

2018-09-30 11:40:19 226

原创 maven排查冲突jar包

1. 问题描述使用maven可以非常方便的管理我们项目的各种依赖,但是也存在着一些问题。当我们在pom.xml文件中引入新的jar包,那么该jar包依赖的其它jar包也会自动被下载。如果这些自动下载的jar包和项目中已存在的jar包版本不一致,那么就会造成jar包版本的冲突。2. 解决方法我们可以使用mvn命令来排查项目中存在版本冲突的jar包。首先,在命令行跳转到当前项目路径(如果使...

2018-09-29 17:21:20 4591

原创 安装jar包到本地mvn仓库

1. 简介使用mvn install命令,我们可以将自己编译的jar包安装到本地maven仓库。2. 准备工作待安装到本地maven仓库的jar包,此处以phoenix-4.10.0-HBase-1.1-client.jar为例maven环境3. 安装步骤打开命令行窗口,使用mvn命令进行安装mvn install:install-file -Dfile=jar包的位置 ...

2018-09-29 09:33:12 260

转载 关于hadoop job中job.setOutputFormatClass和FileOutputFormat.setOutputPath容易报错的问题

1. job.setOutputFormatClass(TextOutputFormat.class)# TextOutputFormat的为新的API中org.apache.hadoop.mapreduce.lib.output.TextOutputFormatjob.setOutputFormatClass(TextOutputFormat.class);2.FileOutputFo...

2018-09-28 09:52:31 3897

转载 Phoenix开启schema对应Hbase中的namespace

1. 开启schema与namespace的对应关系如果使用了hbase中的自定义namespace,不仅仅使用default,那么在phoenix中与之对应的是schema的概念,但是默认并没有开启,需要在hbase-site.xml中增加以下配置项: <property> <name>phoenix.schema.isNamespaceMappin...

2018-09-27 10:27:39 3080 1

转载 Postgres CopyManager and connection from Connection Pool

    最近单位在做oracle向PG数据库的转化.    其中使用到了PG的CopyManager类来做oracle类似的import和export.快速看下PG CopyManager的例子代码: package test.s

2018-09-26 16:14:10 1603

原创 使用Phoenix创建二级索引

1. 为什么需要用二级索引?对于HBase而言,如果想精确地定位到某行记录,唯一的办法是通过rowkey来查询。如果不通过rowkey来查找数据,就必须逐行地比较每一列的值,即全表扫瞄。对于较大的表,全表扫描的代价是不可接受的。但是,很多情况下,需要从多个角度查询数据。例如,在定位某个人的时候,可以通过姓名、身份证号、学籍号等不同的角度来查询,要想把这么多角度的数据都放到rowkey中几乎不可能...

2018-09-25 14:31:04 3605

转载 Spark将DataFrame所有的列类型改为double

前言由于spark机器学习要求输入的DataFrame类型为数值类型,所以如果原始数据读进来的列为string类型,需要一一转化,而如果列很多的情况下一个转化很麻烦,所以能不能一个循环或者一个函数去解决呢。1. 单列转化方法import org.apache.spark.sql.types._val data = Array(("1", "2", "3", "4", "5"), ("6&q

2018-09-21 16:12:39 1957

转载 HBase的数据分布

浅谈HBase的数据分布摘要:HBase的rowkey设计一直都是难点和痛点,不合适的rowkey设计会导致读写性能、吞吐不佳等诸多问题。本文从数据分布问题展开,介绍HBase基于Range的分布策略与region的调度问题,详细讨论了rowkey的比较规则及其应用,希望能够加深用户对HBase数据分布机制和rowkey的理解,从而做出更合适的设计,精准、高效的使用HBase。数据分布...

2018-09-19 17:20:33 1069

转载 HBase RowKey设计原则

Hbase中定位一条数据对于关系型数据库,数据定位可以理解为“二维坐标”;但是hbase中需要四维来定位一个单元格,即[行健、列族、列限定符、时间戳]什么是热点?HBase中的行是按照rowkey的字典顺序排序的,这种设计优化了scan操作,可以将相关的行以及会被一起读取的行存取在临近位置,便于scan。然而糟糕的rowkey设计是热点的源头。 热点发生在大量的client直接访问集群的一个...

2018-09-19 16:21:50 135

原创 Hbase常用操作整理(持续更新)

一. scan操作1. 什么是scanscan是较为底层的也是用的最多的一种获取Hbase中数据的方式。scan可以根据rowkey,cf,column,timestamp,filter来获取方式。在这里优先推荐根据rowkey的方式获取数据,即可以指定startrow和endrow,也可以指定具体的某个行键去获取数据。在源码中也指出了如果具体指定了rowkey,那么会只是扫描那一段的数据。...

2018-09-19 10:52:05 738

转载 Spark DataFrame列的合并与拆分

Spark DataFrame 列的合并与拆分 版本说明:Spark-2.3.0使用Spark SQL在对数据进行处理的过程中,可能会遇到对一列数据拆分为多列,或者把多列数据合并为一列。这里记录一下目前想到的对DataFrame列数据进行合并和拆分的几种方法。1 DataFrame列数据的合并例如:我们有如下数据,想要将三列数据合并为一列,并以“,”分割+----+---+----...

2018-09-18 11:50:41 10881

转载 Hortonworks的开源框架SHC的使用(二)

shc测试环境的搭建参考:spark读写HBase之使用hortonworks的开源框架shc(一):源码编译以及测试工程创建读写HBase需要两个核心的元素:用户描述数据结构的schema字符串与schema字符串相对应的实体类1. 定义schema字符串object Catalog { val schema = s"""{ | "t...

2018-09-18 09:17:16 552

转载 Hortonworks的开源框架SHC的使用(一)

源码编译以及测试工程创建 软件准备shc源码包下载地址:https://github.com/hortonworks-spark/shc/releases 1. 编译源码包(1) 解压源码包,修改项目根目录下的pom文件根据自己使用的版本修改各组件的...

2018-09-17 09:13:12 1613

原创 Hbase用户权限

Hbase用户权限管理 HBase提供五个权限标识符:(RWXCA)R - represents read privilege.W - represents write privilege.X - represents execute privilege.C - represents create privilege.A - represents admin privilege....

2018-09-14 09:56:34 5997 2

原创 Scala操作Hbase空指针异常java.lang.NullPointerException处理

Hbase版本:Hortonworks Hbase  1.1.2 问题描述: 使用Scala操作Hbase时,发生空指针异常(java.lang.RuntimeException: java.lang.NullPointerException),异常如下:

2018-09-13 19:45:31 2182

转载 Spark DataFrame写入HBASE常用方式

Spark是目前最流行的分布式计算框架,而HBase则是在HDFS之上的列式分布式存储引擎,基于Spark做离线或者实时计算,数据结果保存在HBase中是目前很流行的做法。例如用户画像、单品画像、推荐系统等都可以用HBase作为存储媒介,供客户端使用。因此Spark如何向HBase中写数据就成为很重要的一个环节了。本文将会介绍三种写入的方式,其中一种还在期待中,暂且...

2018-09-13 18:10:13 923

原创 Markdown基本语法

Markdown简介markdown是一种纯文本格式的标记语言。通过简单的标记语法,它可以使普通文本内容具有一定的格式。标题在想要设置为标题的文字前面加#来表示,一个#是一级标题,二个#是二级标题,以此类推,支持六级标题。 注:标准语法一般在#后跟个空格再写文字,貌似简书不加空格也行。示例: # 这是一级标题 ## 这是二级标题 ### 这是三级标...

2018-09-13 15:04:10 75

原创 使用mvn archetype插件自定义项目骨架模板

Archetype简介Archetype是Maven工程的模板工具包。使用Archetype提供的方法可以快速的构建和组织一致化的工程,解决在工作过程中创建一个新项目时需一堆繁琐的配置工作(一个项目包含许多的配置文件。例如:Spring、mybatis、log4j、pom.xml、git等,其他的还包括项目目录骨架,整个过程配置下来顺利的话也要几十分钟)。工具介绍Idea...

2018-09-13 14:27:34 954

转载 HBase基础介绍

产生背景自 1970 年以来,关系数据库用于数据存储和维护有关问题的解决方案。大数据的出现后, 好多公司实现处理大数据并从中受益,并开始选择像 Hadoop 的解决方案。Hadoop 使用分 布式文件系统,用于存储大数据,并使用 MapReduce 来处理。Hadoop 擅长于存储各种格式 的庞大的数据,任意的格式甚至非结构化的处理。Hadoop 的限制Hadoop...

2018-09-11 20:20:51 112

转载 scala case class的使用

本文将基于下面这个简单的例子来说明 case classcase class Person( lastname: String, firstname: String, birthYear: Int )你可能知道的知识当你声明了一个 case class,Scala 编译器为你做了这些:创建 case class 和它的伴生 o...

2018-09-11 14:52:57 2411

转载 HBase数据写入流程解析

HBase数据写入流程解析 众所周知,HBase默认适用于写多读少的应用,正是依赖于它相当出色的写入性能:一个100台RS的集群可以轻松地支撑每天10T的写入量。当然,为了支持更高吞吐量的写入,HBase还在不断地进行优化和修正,这篇文章结合0.98版本的源码全面地分析HBase的写入流程,全文分为三个部分,第一部...

2018-09-10 15:22:41 181

转载 通过命令来查看NameNode的状态

hadoop2.2.0(HA)中HDFS的高可靠指的是可以同时启动2个NameNode。其中一个处于工作状态,另一个处于随时待命状态。这样,当一个NameNode所在的服务器宕机时,可以在数据不丢失的情况下,手工或者自动切换到...

2018-09-10 09:32:00 7118

转载 基于Spark UI性能优化与调试——初级篇

基于Spark UI性能优化与调试——初级篇Spark有几种部署的模式,单机版、集群版等等,平时单机版在数据量不大的时候可以跟传统的java程序一样进行断电调试、但是在集群上调试就比较麻烦了…远程断点不太方便,只能通过Log的形式进行数据...

2018-09-07 15:05:04 121

转载 Spark错误:Operation category READ is not supported in state standby解决办法

转载:https://blog.csdn.net/ZHAOLEI5911/article/details/51493637 参考的文章:http://www.cnblogs.com/smartloli/p/4298430.html 当然,在操作的过程中,发现与上述文章...

2018-09-07 14:20:41 1435

转载 HBase入门教程

转自:https://blog.csdn.net/yowoyn/article/details/79765132用惯了Oracle/MySQL的同学们,心目中的数据表,应该是长成这样的:这...

2018-08-31 10:49:49 210

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除