- 博客(228)
- 资源 (63)
- 收藏
- 关注
原创 KUDU架构原理
基本概念Tabletable 是数据存储在 Kudu 的位置,具有 schema 和全局有序的 primary key。table 被分成称为 tablets 的 segments。Tablet一个 tablet 是一张 table 连续的 segment,与其它数据存储引擎或关系型数据库中的 partition(分区)相似。给定的 tablet 冗余到多个 tablet 服务器上,并且在...
2018-12-27 08:58:20
3134
1
原创 Impala查询不到hive数据
背景hive写入的数据,hive是可以查到数据,impala进行过元数据的刷新,然后查询此表,查询成功,返回结果是空表。原因写入数据的SQL里使用了UNION,导致HDFS目录结构多了一层,本来是分区底下直接是数据,使用了UNION后,有几个UNION,分区底下会出现几个文件夹,依次为1,2,3…,文件夹里面才是数据。导致Impala无法访问到具体数据。也许Imapla新版本解决了这个问题,...
2018-12-13 18:30:47
4582
原创 SSH可用,SFTP登录不上,提示connection closed
1、可能是密码过期,重置密码即可2、初次使用的话,查看sftp-server(/usr/libexec/openssh/sftp-server)是否有权限,没有权限则加权限可以使用chmod 7553、vi /etc/passwd把要登录用户最后的/bin/false改为/bin/bash...
2018-12-06 14:40:31
14628
1
原创 Impala实时刷新同步Hive元数据
背景通过HIVE对数据进行操作或更新元数据,Impala是无感知的,官方提供了两种手动刷新的方式,分别是INVALIDATE METADATA和REFRESH操作。但是使用起来相当不方便,针对此问题,想到两种简单的应对方案。方案一如果ETL处理都是通过脚本执行,那么可以考虑在脚本中添加手动刷新的命令,即某个表的数据已通过脚本处理完成,脚本的最后调用impala刷新一下这个表。这种方式无法处理...
2018-11-30 08:12:53
11599
5
原创 Impala 代替 hive COLLECT_SET函数的方式
背景之前是在HIVE上开发,GROUP BY 某些字段后,其他字段使用COLLECT_SET(ITEM)[0]的方式取相同字段值中的一个,而在Impala上没有COLLECT_SET函数。方案使用GROUP_CONCAT函数+SPLIT_PART函数替代## IMPALASELECT SCORE,SPLIT_PART(GROUP_CONCAT(NAME),',',1) FROM TEST...
2018-11-15 09:25:00
6995
原创 Hadoop dr.who问题
背景昨天在生产环境偶然发现,yarn的一些日志访问不了,报如下错误 User [dr.who] is not authorized to view the logs for application;然后发现hdfs管理界面有些文件目录页进不去,登录即右上角为logged in as dr.who。然后到网上查找资料。原因Resource Manager UI的默认用户dr.who权限不正确...
2018-11-14 08:28:56
8761
原创 Impala权限控制
开头Impala因为是Cloudera出的,所以官方文档说明里只写了使用自家的Sentry方式进行权限管理,而对于Hortonworks家的Ranger只字未提,网上都是说可以通过特殊方案集成到Ranger上,但是没有找到具体方案,在此也提不了了。首先,Sentry 的使用有两种方式,一是基于文件的存储方式(SimpleFileProviderBackend),一是基于数据库的存储方式(Sim...
2018-11-08 21:08:16
4678
原创 Sentry与Ranger
Sentry:RBAC(role-based acess control)基于角色的管理,比如Cloudera用的是Sentry,华为的FusionInsight也采用类似的机制。即:通过创建角色,将每个组件的权限授予给此角色。然后在用户中添加此角色,即用户具备此角色访问组件的权限(组也类似)Ranger: PBAC(policy-based acess control)基于策略的管理,比如H...
2018-11-07 22:15:06
1639
原创 Sqoop同步hive的parquet数据问题
目前通过Sqoop从Hive的parquet抽数到关系型数据库的时候会报kitesdk找不到文件的错,这是Sqoop的BUG,通过使用hcatlog的方式解决。ERROR sqoop.Sqoop: Got exception running Sqoop: org.kitesdk.data.DatasetNotFoundException: Descriptor location does not...
2018-11-06 08:23:39
3327
原创 Impala的数据刷新
Impala采用了比较奇葩的多个impalad同时提供服务的方式,并且它会由catalogd缓存全部元数据,再通过statestored完成每一次的元数据的更新到impalad节点上,Impala集群会缓存全部的元数据,这种缓存机制就导致通过其他手段更新元数据或者数据对于Impala是无感知的,例如通过hive建表,直接拷贝新的数据到HDFS上等,Impala提供了两种机制来实现元数据的更新,分别...
2018-10-28 14:52:04
5203
原创 推荐系统——用户画像
写在最开始,本人不是专业做推荐系统的,本文只是整理最近培训的所见所得。学生生涯的时候略微了解些推荐系统的皮毛,工作后暂时还没做这方面的工作,但之后的工作规划会涉及到相关领域知识,另加上本人对算法类培训颇感兴趣,于是参加了近期的培训,自此整理消化下相关知识,聊以慰藉。目前推荐系统的用户画像都是对用户的向量化表示,推荐系统的用户画像是给计算机用的,而不是给人看的。用户画像不是推荐系统的目的,而是在构...
2018-10-15 22:21:39
11277
1
原创 HIVE视图VIEW
特点1、只有逻辑视图,没有物化视图;2、视图只能查询,不能Load/Insert/Update/Delete数据;3、视图在创建时候,只是保存了一份元数据,当查询视图的时候,才开始执行视图对应的那些子查询;优点降低查询复杂度当查询变得长或复杂的时候,通过使用视图将这个查询语句分割成多个小的、更可控的片段来降低复杂度。同在编程语言中使用函数或者软件设计中使用分层设计的思想是一致的。...
2018-10-13 19:45:52
5018
原创 Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.tez.TezTask问题解决
发现这个报错后,就网上查资料喽。目前看下来两种情况比较常见,不排除其他可能。一般排查方式也是查看hive日志,job日志在你的HIVEHOME/conf的hive?log4j.properties下的hive.log.dir={java.io.tmpdir}/user.name所指的目录下,如果日志使用的是默认的配置,则在主机的/tmp/user.name所指的目录下;当然我也是先进了看了这路径下...
2018-10-04 08:42:33
52057
13
原创 DbVisualizer连接Hbase(Phoenix驱动)
最近想通过图形界面访问操作hbase,之前hive等都是用的DbVisualizer,所以也想配置一下。首先说明,是利用Phoenix连接hbase,本人的Phoenix和Hbase是已安装并配置好的,所以安装及配置过程在此省略。主要总结下搜索的资料及碰到问题的解决。驱动JAR包1、phoenix官方提供了驱动jar包下载,需根据Phoenix版本和hbase版本选择相应的版本,驱动只需添加p...
2018-09-26 19:41:48
3277
4
原创 TEZ深入理解
简介Tez是Apache最新的支持DAG作业的开源计算框架,它可以将多个有依赖的作业转换为一个作业从而大幅提升DAG作业的性能。Tez并不直接面向最终用户——事实上它允许开发者为最终用户构建性能更快、扩展性更好的应用程序。Hadoop传统上是一个大量数据批处理平台。但是,有很多用例需要近乎实时的查询处理性能。还有一些工作则不太适合MapReduce,例如机器学习。Tez的目的就是帮助Hadoop...
2018-09-20 15:27:05
8859
原创 HDFS Live Nodes缺少节点问题处理
背景最近因为集群中的一个节点挂掉了(Linux系统挂了),所以从另外一个节点把所有文件重新拷贝了一份到这个节点上。然后常规启动集群后,发现所有数据节点都已正常启动,但通过web页面查看http://master:50070,在Live Node里缺少了这台之前挂掉的节点,因为是整体拷贝,所以包括HDFS的元数据信息也是一模一样的,造成冲突。原因分析1、找到配置文件hdfs-site.xml...
2018-09-20 09:01:56
1881
原创 HDFS空间优化
1 HDFS存档/归档存档是用来备份的时候标识用的,说白就是做个标记,表示这个文档在上次备份之后有没有被修改过,比如当月1号,你给全盘做了一次备份,那么所有的文档的存档属性都会被清除,表示备份过了。此后,如果你修改了某个文件,那么这个文件的存档属性就会被加上。当几天后,你再做“增量”备份时候,系统就会只备份那些具有“存档”属性的文件。每个文件均按块方式存储,每个块的元数据存储在nameno...
2018-09-17 10:17:48
1395
原创 HDFS深入理解
本文参考《Hadoop权威指南》与网上相关资料整理完成1 HDFS简介HDFS(Hadoop Distributed File System)是Hadoop项目的核心子项目,是分布式计算中数据存储管理的基础,是基于流数据模式访问和处理超大文件的需求而开发的,可以运行于廉价的商用服务器上。它所具有的高容错、高可靠性、高可扩展性、高获得性、高吞吐率等特征为海量数据提供了不怕故障的存储,为超...
2018-09-14 17:29:44
1234
原创 pytorch基本知识—主要轮子简介
深度学习框架背后的设计核心基本都是张量和计算图,PyTorch也不例外,以下会依次介绍下这些给力的轮子~~TensorTensor, 中文名张量,Theano、 TensorFlow、 PyTorch和MXNet中重要的数据结构。张量这一术语起源于力学,是一个非常重要的数学工具,有兴趣的可以自行了解。从工程角 度讲,可简单地认为它就是一个数组,且支持有效的科学计算。它可以是一个数(标量)...
2018-09-12 09:31:27
1899
1
原创 常见深度学习框架比较
常见的深度学习框架有 TensorFlow 、Caffe、Theano、Keras、PyTorch、MXNet等,如下图所示。这些深度学习框架被应用于计算机视觉、语音识别、自然语言处理与生物信息学等领域,并获取了极好的效果。下面将主要介绍当前深度学习领域影响力比较大的几个框架,内容出自书籍《深度学习框架PyTorch:入门与实践》。 常见的深度学习框架TheanoTheano最初...
2018-09-10 11:35:59
31489
原创 并发、并行与分布式编程的概念区分
并发与并行并发是两个任务可以在重叠的时间段内启动,运行和完成;并行是任务在同一时间运行,例如,在多核处理器上。并发是独立执行过程的组合,而并行是同时执行(可能相关的)计算。并发是一次处理很多事情,并行是同时做很多事情。应用程序可以是并发的,但不是并行的,这意味着它可以同时处理多个任务,但是没有两个任务在同一时刻执行。 应用程序可以是并行的,但不是并发的,这意味着它同时处理多核CP...
2018-08-29 11:19:02
3775
原创 HIVE 编程指南笔记
不一样的插入数据Hive提供一种特别的INSERT语法。其SQL栗子如下:FROM CMB_A AINSERT INTO TABLE CMB_BPARTITION (DT = '20180331')SELECT * WHERE A.DATE = '20180331'INSERT OVERWRITE TABLE CMB_CPARTITION (DT = '20180401')...
2018-03-31 20:34:47
486
原创 hive向elasticsearch写数据
一、添加依赖包首先确定elasticsearch的版本,若es版本为6.1.2,可用jar包:elasticsearch-hadoop-6.1.2.jar,网上有说只要高于6.1.2版本的jar包即可(自行验证)。当报httpclient相关错误时,还需要添加org.apache.commons.httpclient这个jar包。 首先进入hive,然后通过下面命令添加依赖包。add j...
2018-02-25 17:02:31
3728
原创 DB2开发与性能优化
范式化原则物理表:优先考虑降低数据冗余度、消除二义性,在合理代价的前提下,以第三范式为目标进行表设计。兼顾访问性能、可扩展性等因素,可以在适当范围内进行必要的降范式处理,但必须有配套机制保证数据一致性。 临时表:优先考虑程序访问性能和便捷性,通常不受范式化制约。表空间使用和分配原则用户数据与系统数据分离 永久数据与临时数据分离 表数据与索引数据分离 大对象数据独立字段非空约束物理表:尽量对所
2017-12-23 15:44:19
1823
原创 BMC Control-M Client安装问题及解决方法
安装问题本人安装的是BMC Control-M Client V9版本,已安装.net 4.5.2,还是提示缺少.net 4.5.2。 原因Control-M客户端安装的时候调用批处理命令”REG QUERY”去检查.Net的版本。如果注册表中.Net的路径损坏或者包含空格或引号就导致检查失败。但是本人检查过.Net路径键值正常,批处理命令也考虑到了空格和引号的问题,但是还是不能通过。解决方法具体
2017-11-01 21:03:28
5438
原创 DB2 编目操作
在“命令窗口”语句前要加DB2。命令--增加结点编目(db2) catalog tcpip node 结点名 remote 结点ip server 50000--查看结点编目(db2) list node directory--删除结点编目(db2) uncatalog node 结点别名--增加数据库编目(db2) catalog db 数据库名 as 数据库别名 at node 结点名-
2017-10-08 08:46:36
1064
原创 Windows下更改Jupyter Notebook默认启动目录
在网上搜了半天找到了很多方法,但是都没有用。特此记录下自己动手修改成功的方法,以便于来者。首先说明的是,我是在Windows上安装的Anaconda3,里面附带的Jupyter Notebook。具体步骤首先找到Jupyter Notebook的快捷方式,右键如下图。“目标”中最后一个参数默认是%USERPROFILE%,就是默认启动目录。直接改为自定义路径就完成了,如图。
2017-10-07 22:18:06
6787
11
原创 DB2 根据表名查找存储过程
–根据表名查找存储过程(不加模式名) SELECT PROCSCHEMA, –模式名 PROCNAME –存储过程名 FROM SYSCAT.PROCEDURES WHERE SPECIFICNAME IN (SELECT DNAME FROM SYSIBM.SYSDEPENDENCIES
2017-10-07 22:02:36
5210
原创 SQL学习笔记
工作了,分到了数据仓库组,主要写存储过程,写SQL了,数据库为DB2。之前一直写C++,搞图像算法,虽然上学的时候有数据库这门课,但是当时也就是大约了解了语法,操作了下SQL Server,所以要从头学起。SQL入门简单,但是要写好也不是件容易的事。这里首先记录一下我的入门学习过程。教程与实践其实学习SQL语法不需要专门买书,因为基本语法就那么几句,网上搜一下教程就好。这里给出我使用的
2017-08-29 20:29:25
328
原创 基于Retinex理论的图像增强
概念其实关于Retinex理论的研究很多很多,这里只是简单概述一下,本文更多的是在遥感影像上的处理效果讨论。根据Retinex理论,人眼感知物体的亮度取决于环境的照明和物体表面对照射光的反射,其数学表达式为:I(x,y) = L(x,y) * R(x,y) 其中 I(x,y)代表被观察或照相机接收到的图像信号;L(x,y)代表环境光的照射分量 ;
2016-11-03 16:34:08
6176
1
原创 图像特征— —SURF特征
SURF特征是对SIFT特征的改进,其基本结构、步骤与SIFT相近,但具体实现的过程有所不同。SURF算法的优点是速度远快于SIFT且稳定性好。关于SIFT特征和Haar特征之前的文章有讲,这里主要就不赘述,请自行去查看~SURF算法主要步骤: 1. Hessian矩阵构建尺度空间构建特征点精确定位方向确定特征点描述SURF算法原理Hessian矩阵构建SIFT算法建立一幅图像的金字
2016-10-12 10:20:49
7560
原创 算法— —二叉树遍历
概念二叉树遍历是二叉树的最基本的操作,其实现方式主要有: 1. 递归遍历 2. 非递归遍历 3. Morris遍历(自己度娘去,这里不讲)
2016-09-29 09:48:31
2293
1
原创 图像特征— —Gabor特征
Gabor变换属于加窗傅立叶变换,Gabor函数可以在频域不同尺度、不同方向上提取相关的特征。Gabor小波与人类视觉系统中简单细胞的视觉刺激响应非常相似。它在提取目标的局部空间和频率域信息方面具有良好的特性。虽然Gabor小波本身并不能构成正交基,但在特定参数下可构成紧框架。Gabor小波对于图像的边缘敏感,能够提供良好的方向选择和尺度选择特性,而且对于光照变化不敏感,能够提供对光照变化良好的
2016-09-25 17:02:17
22202
7
原创 图像特征— —SIFT特征
尺度不变特征转换(Scale-invariant feature transform或SIFT)是一种计算机视觉算法,用来侦测与描述影像中的局部性特征,它在空间尺度中寻找极值点,并提取出其位置、尺度、旋转不变量。其应用范围包含物体辨识、机器人地图感知与导航、影像缝合、3D模型建立、手势辨识、影像追踪和动作比对。局部影像特征的描述与侦测可以帮助辨识物体,SIFT 特征是基于物体上的一些局部外观的兴
2016-09-25 13:28:34
18794
1
原创 图像特征— —Haar特征
概念Haar特征分为:边缘特征、线性特征、中心特征和对角线特征,组合成特征模板。特征模板内有白色和黑色两种矩形,并定义该模板的特征值为白色矩形像素和减去黑色矩形像素和。Haar特征值反映了图像的灰度变化情况。例如:脸部的一些特征能由矩形特征简单的描述,如:眼睛要比脸颊颜色要深,鼻梁两侧比鼻梁颜色要深,嘴巴比周围颜色要深等。但矩形特征只对一些简单的图形结构,如边缘、线段较敏感,所以只能描述特定走向(水
2016-09-24 20:36:28
2904
原创 图像特征— —HOG特征
概念计算机视觉和图像处理中用来进行物体检测的特征描述子。它通过计算和统计图像局部区域的梯度方向直方图来构成特征。HOG特征结合SVM分类器已经被广泛应用于图像识别中,尤其在行人检测中获得了极大的成功。(1)主要思想:在一副图像中,局部目标的表象和形状(appearance and shape)能够被梯
2016-09-24 19:24:37
3043
原创 图像特征— —LBP特征
LBP(Local Binary Pattern,局部二值模式)是一种用来描述图像局部纹理特征的算子,具有旋转不变性和灰度不变性等显著的优点。一般用于纹理特征提取,提取的特征是图像的局部的纹理特征。LBP特征原始的LBP算子定义为在3*3的窗口内,以窗口中心像素为阈值,将相邻的8个像素的灰度值与其进行比较,若周围像素值大于中心像素值,则该像素点的位置被标记为1,否则为0。这样,3*3邻域内的8个
2016-09-24 18:46:37
4046
原创 数据结构复习笔记— —队列
基本概念队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。顺序队列建立顺序队列结构必须为其静态分配或动态申请一片连续的存储空间,并设置两个指针进行管理。一个是队头指针front,它指向队头元素;另一个是队尾指针rear,它指向下一个入队元素
2016-09-09 16:17:37
867
原创 数据结构复习笔记— —栈
栈(stack),它是一种运算受限的线性表,先进后出。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。有进栈、出栈、栈满、栈空等几种状态。栈可以用来在函数调用和递归时会被用到。类似于有左右括号的这类操作也可以用栈。尾递归、常数递归可以不用栈。栈相当于具有记忆功能。栈保存了一个函数调用时所需要的维护信息,这常常称之为堆栈帧或者活动记录。主要记录: 1函数的返回
2016-09-09 15:15:28
655
原创 算法— —排序
先上图 1 插入排序(InsertSort)插入排序通过把序列中的值插入一个已经排序好的序列中,直到该序列的结束。插入排序是对冒泡排序的改进。平均情况下,冒泡排序的比较次数近似为插入排序的2倍,移动次数与插入排序相同,可以说插入排序比冒泡排序快2倍。 插入排序一般不用在数据大于1000的场合,或者重复排序超过200数据项的序列。2 Shell排序(ShellSort)Shell排序通过将数据分成
2016-09-09 14:23:21
522
颜色迁移算法
2015-05-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅