Sin_Geek成长の迹

~~~
私信 关注
Sin_Geek
码龄10年

Lovelife

  • 735,337
    被访问量
  • 204
    原创文章
  • 5,762
    作者排名
  • 297
    粉丝数量
  • 于 2011-06-22 加入CSDN
获得成就
  • 获得408次点赞
  • 内容获得179次评论
  • 获得533次收藏
荣誉勋章
兴趣领域
  • #大数据
    #ETL#storm#hive#hadoop#数据仓库#spark
TA的专栏
  • 生活
    1篇
  • 大数据技术
    44篇
  • 数据分析
    1篇
  • GEEK学习笔记
    12篇
  • 温故知新
    6篇
  • 杂七杂八
  • 数据结构与算法
    9篇
  • 颜色迁移
    6篇
  • GEEK编程练习
    31篇
  • STL学习笔记
    15篇
  • 图像处理、计算机视觉
    6篇
  • 深度学习
    2篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

用户故事地图 PDF

产品经理,精益敏捷,迭代运作,用户故事,描述需求与开发高效协同。此版本为PDF版本,清晰度还不错,分享给大家。。。
pdf
发布资源于 6 月前

回归--偶尔还是要写点东西的

回归--偶尔还是要写点东西的七七八八资产配置投资保险工作成长其他七七八八应该有将近一年没怎么写过东西了,之前写也基本是关于技术的文章,看了下文章记录,最新一篇也是今年1月份的啦,确实好久没写点什么了。仔细想想总结,有如下几方面原因吧。工作方面:工作侧重点调整,从平台开发转向数据挖掘分析,也开始担任一些行政组织管理方面的事情。一个是接触相关问题的机会少了,另一个是开发学习的时间也少了。可能仅有的时间用来学习思考数据价值层面的事情了。家庭方面:迎来新的家庭成员,还是会占据不少时间与精力的个人方面:年
原创
154阅读
0评论
1点赞
发布博客于 6 月前

一年多没来这,最近又想写点东西了,发现这个新玩意,上来打个卡吧。主要还是通过写,带动学习,思考,总结吧。人总是要学习的。

 
发布Blink于 6 月前

LINUX通过python连接ACCESS(.mdb和.accdb文件)数据库

前言因为ACCESS主要还是微软的那一套,所以WIN平台的连接方式不再赘述,网上方案很多。LINUX上的连接,主要还是分为ODBC和JDBCODBC方案包安装linux需安装的包:mdbtools, unixODBC, libmdbodbcpython需安装的包:pyodbc或pypyodbc配置配置/etc/odbcinst.ini[MDBToolsODBC]Descript...
原创
1234阅读
0评论
1点赞
发布博客于 1 年前

Container killed on request. Exit code is 143

背景只是一条INSERT语句插入一条数据,然后就报错报错如下Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.tez.TezTask分析之前写过这个错误,这只是个表象错误,具体问题还是需要看日志分析。Z正常日志里没有报错,在这个任务的一个POST日志文件中发现如下报错Container contai...
原创
1263阅读
0评论
1点赞
发布博客于 1 年前

数据分析——数据探索

数据质量分析主要检查原始数据中是否存中脏数据:缺失值异常值不一致的值重复数据及含有特殊符号的数据缺失值处理方式:删除、插补、不处理异常值简单统计量分析3σ原则箱型图分析数据特征分析...
原创
124阅读
0评论
1点赞
发布博客于 2 年前

分类算法的评估方法

基本术语常见的模型评价术语,假设分类目标只有两类,计为正例(positive)和负例(negtive)则:1)True positives(TP):被正确地划分为正例的个数,即实际为正例且被分类器划分为正例的实例数(样本数);2)False positives(FP):被错误地划分为正例的个数,即实际为负例但被分类器划分为正例的实例数;3)False negatives(FN):被错误地划...
原创
365阅读
0评论
1点赞
发布博客于 2 年前

python中的@

前言多次见到@符,多次听到“装饰器”,“修饰函数”这个,之前也半知半解的学习了解过,但是又默默的忘记了,最近又遇到了,在这好好学习记录一下。定义与用途简单的讲,@是一个装饰器,针对函数,起调用传参的作用。是不是很抽象,很不好理解。下面慢慢讲:@可以在模块或者类的定义层内对函数进行修饰,出现在函数定义的前一行,不允许和函数定义在同一行,一个修饰器就是一个函数,它将被修饰的函数作为参数,并返回...
原创
258阅读
0评论
4点赞
发布博客于 2 年前

impala drop删除表注意问题

背景在使用impala drop表然后新建该表再插入数据时,发现以前的数据还在里面。drop和create过程都没有报错。。。实际分析发现,drop表后再select报错,报表不存在,但实际应该是删除了映射关系,但是hdfs上的文件并没有删掉,然后新建表后,再插入数据,数据又写入到了以前的文件里,造成该现象。处理方案impala 在执行 drop table 操作时,需要把文件移到到 h...
原创
1652阅读
0评论
1点赞
发布博客于 2 年前

hive where过滤条件中数值比较注意问题

背景hive版本1.2.1问题where过滤条件中很多条件,其中包含了数值比较情况,当时开发人员没注意写的是a=0.01进行比较,a为数值型,造成过滤条件不生效的情况。单独是用a=0.01可以,但是在复杂条件下会出现问题。在impala中执行同样的sql却不会有问题,说明hive本身对数值比较的处理方式跟impala不同。解决数值型字段比较最好还是避免等值比较,还是采用相加相减在一定精...
原创
1587阅读
0评论
1点赞
发布博客于 2 年前

mysql跨库转移数据

导出select * from e into outfile "/data/mysql/e.txt" fields terminated by '|';注:outfile ‘/path/file’,中的 path 需要有mysql的权限,否则会报错。导入load data infile "/data/mysql/e.txt" into table e fields terminated ...
原创
765阅读
0评论
1点赞
发布博客于 2 年前

hive函数to_unix_timestamp与unix_timestamp效率问题

可怕,hive版本1.2.1,实践中发现,to_unix_timestamp比unix_timestamp函数快几十甚至上百倍!!!
原创
1952阅读
0评论
1点赞
发布博客于 2 年前

HIVE decimal类型溢出问题

背景hive版本1.2.1s1字段类型为DECIMAL(38,a)s2字段类型为DECIMAL(38,b)s3字段类型为DECIMAL(38,c)s1 * s2* s3结果为NULL,没有报错解决办法猜测为hive隐式转换数值型溢出,导致显示为NULL,可通过CAST强制转换精度进行处理,如CAST((s1 * s2) as DECIMAL(38,d)) * s3...
原创
3886阅读
0评论
1点赞
发布博客于 2 年前

hive的between-and问题

背景hive版本1.2.1存储格式parquet筛选字段为STRING类型的日期,如’20190918’时出现不包含头尾的现象。实验先分别创建parquet格式T1表与textfile格式的T2表,CREATE TABLE IF NOT EXISTS TEMP.t1(a STRING ) Partitioned by (BDW_Data_Dt STRING)Stored ...
原创
7046阅读
0评论
3点赞
发布博客于 2 年前

hive 表结构及数据的复制

非分区表复制表结构create table new_table like exists_table;复制表结构和数据create table new_table as select * from exists_table;分区表复制表结构create table new_table like exists_table;复制数据稍微麻烦点,使用hdfs拷贝文件,然后再修复表数据...
原创
298阅读
0评论
1点赞
发布博客于 2 年前

hdfs 跨集群数据迁移

背景测试环境数据缺失,需从开发环境同步数据过去,考虑采用Hadoop自带的数据迁移工具分析迁移数据评估开发环境数据比较杂乱,不是所有数据都需要迁移,且全部迁移即浪费时间,又没有价值,根据时间情况按库(甚至按表)进行迁移迁移工具使用Hadoop自带数据迁移工具Distcp,只需要简单的命令即可完成数据迁移。hadoop distcp hdfs://nn1:8020/dir1 hdfs:...
原创
121阅读
0评论
1点赞
发布博客于 2 年前

HDFS-Failed to add storage directory

背景重启DN,报错2019-09-16 10:30:21,724 WARN common.Storage (DataStorage.java:loadDataStorage(449)) - Failed to add storage directory [DISK]file:/hadoop/hdfs/data/java.io.IOException: Incompatible cluste...
原创
792阅读
0评论
2点赞
发布博客于 2 年前

温故知新系列之python——copy & deepcopy

经过copy操作的两个数据对象拥有不同的地址空间,但是这个数据对象如果是内嵌了其他的复杂数据对象,这个内嵌的数据对象在两个数据对象中拥有相同的地址空间,修改其中的值会互相影响。经过deepcopy的操作的不管是内层还是外层数据对象都拥有不同的地址空间,修改其中的值不会互相影响。...
原创
112阅读
0评论
1点赞
发布博客于 2 年前

温故知新系列之python——and-or语法

在网上搜了一下,python 的and-or语法与C语言的三目运算符?:有类似的功能。但bool and a or b,当 a 为假时,不会跟C语言的 bool ? a : b 一样工作常用的是把 and-or 封装成一个函数:def choose(bool, a, b): return(bool and [a] or [b])[0]因为 [a] 是一个非空列表,它永远不会为假。甚...
原创
113阅读
0评论
1点赞
发布博客于 2 年前

impala精度修改问题

背景因上游数据精度发生变化,需相应调整大数据的精度,直接进行调整后,HIVE没有问题,但impala无法正常查询修改后的表,报错为column 'XXX' has an invalid type length分析&试验最开始以为是HIVE元数据的问题,因为是分区表怀疑历史分区相关信息没有变更,然后去HIVE元数据库查,结果元数据信息是一样的。然后网上去查资料,度娘真的啥也不知道啊...
原创
1163阅读
0评论
1点赞
发布博客于 2 年前

温故知新系列之python——行界符

在使用split函数时会遇到分割符问题,能被识别的行界符如下:行界符描述
Line Feed 换行\rCarriage Return 回车\r
Carriage Return + Line Feed 回车+换行\v or \x0bLine Tabulation\f or \x0cForm Feed 换页\x1cFile Se...
原创
137阅读
0评论
1点赞
发布博客于 2 年前

温故知新系列之python——基础要素

format()优点:不需要关注数据类型,而在%方法中%s只能替代字符串类型单个参数可以多次输出,参数顺序可以不相同填充方式十分灵活,对齐方式十分强大官方推荐用的方式简单字段名三种写法:省略不写{}数字 {十进制非负整数}变量名 {合法的Python标识符}复合字段名支持两种操作符:[]方括号.点号转换字段的取值有三种,前面要加!:s:传递参数之前先对参数调用 ...
原创
74阅读
0评论
1点赞
发布博客于 2 年前

^M: bad interpreter: No such file or directory

背景shell脚本从Windows直接上传到Linux服务器上,运行报错。原因win跟linux字符不同导致方案vi打开文件,修改格式:set ff=unix或者在win平台有编辑器先转换到linux格式,再上传...
原创
352阅读
0评论
2点赞
发布博客于 2 年前

LINUX 磁盘空间问题总结

df -h 查看磁盘使用情况du -h -x –max-depth=1 查看目录占用空间大小du的工作原理du命令会对待统计文件逐个调用fstat这个系统调用,获取文件大小。它的数据是基于文件获取的,所以有很大的灵活性,不一定非要针对一个分区,可以跨越多个分区操作。如果针对的目录中文件很多,du速度就会很慢了。df的工作原理df命令使用的事statfs这个系统调用,直接读取分...
原创
125阅读
0评论
2点赞
发布博客于 2 年前

vi打开GBK编码文件乱码问题

问题vi打开GBK编码的文件乱码原理Vim有四个跟字符编码方式有关的选项,encoding、fileencoding、fileencodings、termencoding。它们的意义如下:encoding(enc):encoding是Vim的内部使用编码,encoding的设置会影响Vim内部的Buffer、消息文字等。在 Unix环境下,encoding的默认设置等于locale;Wi...
原创
1111阅读
0评论
2点赞
发布博客于 2 年前

hive中关键字作为列名的方法

背景上游系统表字段名是HIVE的关键字,但是抽取到大数据平台时,需要贴源,即不改变上游表结构,需保留该字段名。方法使用反单引号,一般为键盘ESC的下方,数字键1的左边,与~符号同一个键的返单引号键`SELECT `COMMENT` FROM TEST;...
原创
3637阅读
0评论
2点赞
发布博客于 2 年前

CRISP-DM模型

整理笔记,记一下~框架内容业务理解(Business Understanding)深刻理解业务需求,在需求的基础上制定目标和实现目标的计划数据理解(Data Understanding)主要为收集数据、熟悉数据、识别数据的质量问题。数据准备(Data Preparation)从收集的数据种选择必要的属性,并按关联关系将它们连接成一个数据集,然后进行数据清洗,如空值和异常值处理、离...
原创
1250阅读
0评论
1点赞
发布博客于 2 年前

hive explode与lateral view小记

之前也经常用到这两个函数,一般都是两个一起使用,没有区分这两个函数的区别。最近在用的时候,查了下还是在这里记录一下。explodeexplode函数作用就是将hive一行中复杂的array或者map结构拆分成多行。lateral viewlateral view与用户定义的表生成函数一起使用,如explode函数,为了解决UDTF不允许在select字段的问题。UDTF为每个输入行生成零...
原创
317阅读
0评论
1点赞
发布博客于 2 年前

HDFS Standby NameNode 启动问题

背景运行中的环境,平台发现告警NameNode Directory Status报警,具体为Failed directory count: 1,不影响使用,然后第二天晚上又发生Last Checkpoint的报错,查看HDFS Standby NameNode节点日志发现Exception in doCheckpoint,然后直接重启该Namenode,就发现重启失败,错误提示为NameNode...
原创
745阅读
0评论
1点赞
发布博客于 2 年前

Sqoop export 导出推数详解

前言因为工作上用到sqoop从hive导出数据到关系型数据库,所以学习了下sqoop导出的具体功能,因除官网外(全英文,可能部分人不喜欢看英文),没有特别好的资料,在此整理总结下自己关注的一些东西。环境说明,sqoop 1.4.6,先按照导出到mysql进行总结。命令参数主要整理可能用到的参数,不包含所有参数,有需要可以自行去官方查看~~eval可使用SQL语句对关系数据库进行操作。后面...
原创
4408阅读
0评论
1点赞
发布博客于 2 年前

git archive 存在删除文件时报错

背景使用git archive打包两次提交之间的代码时,若中间存在已删除的文件,就会报 fatal:pathspec ‘xxxxxx’ did not match any files如:git archive --format=zip HEAD `git diff --name-only XXX1 XXX2` > 201903.zip方案获取两次提交之间不同的代码时,添加过滤条件...
原创
476阅读
0评论
1点赞
发布博客于 2 年前

Hive分区表新增字段值为NULL

背景对于HIVE分区表通过add column添加字段,向已存在分区中插入数据,结果新增字段的值全部为null。 已存在分区会产生该问题,新分区不会产生该问题。原因实际上数据是插入成功的。HDFS上的数据更新了,但是我们查询的时候仍然查询的是旧的元数据信息(即Mysql中的信息)官方解释如下:Change Column Name/Type/Position/CommentALTER T...
原创
285阅读
0评论
1点赞
发布博客于 2 年前

Type DECIMAL is not supported in Kudu问题

背景使用IMPALA创建KUDU表的时报错。建表语句如下CREATE TABLE MY.TESTDECIMAL(ID INT PRIMARY KEY,AMT DECIMAL(18,2) )PARTITION BY HASH PARTITIONS 2STORED AS KUDU; 报错信息如下:Type DECIMAL(18,2) is not supported in Ku...
原创
940阅读
0评论
1点赞
发布博客于 2 年前

Docker删除images问题——image has dependent child images

背景偶然间发现服务器上有很多镜像占用不少空间,想清理一下。结果直接进行删除报错:docker rmi 8f5116cbc201Error response from daemon: conflict: unable to delete 8f5116cbc201 (cannot be forced) - image has dependent child images然后上网需求方法,...
原创
10481阅读
0评论
1点赞
发布博客于 2 年前

Sqoop执行时的权限问题

错误信息如下:Permission denied: user=xxx,access=WRITE,inode="/user/xxx/.staging":hdfs:hdfs:drwxr-xr-x解决方法如下:hadoop fs -ls /user 查看目录然后又有两种可选1、切换到其中的用户2、赋权限 hadoop fs -chmod 777 /user/xxx(用哪个用户执行的,报哪...
原创
2094阅读
0评论
1点赞
发布博客于 2 年前

sqoop推数数据错误问题

背景在项目中使用sqoop往oracle推小数的时候发生数据异常的情况原因sqoop使用的oracle jdbc包版本太低,项目使用的是oracle 11g的版本,sqoop里的jdbc包是ojdbc14,是针对oracle 10的版本,针对11g版本至少是ojdbc5.方案直接换成ojdbc7,解决。...
原创
236阅读
0评论
1点赞
发布博客于 2 年前

Pyhive连接impala执行sql的问题

背景使用pyhive连接impala并执行sql语句,发现总是sql执行总是异常。原因经过跟踪源代码发现,pyhive执行sql的函数execute(),虽然指定了同步执行,但是同步只适用于执行hive的sql,对于impala来说,并没有起作用,导致实际执行的impala sql为异步的,则会出现异常情况。方案可人为判断sql执行情况,实现同步执行。通过poll()函数,获取TOpe...
原创
1138阅读
0评论
1点赞
发布博客于 2 年前

impala报错NoSuchMethodError: org.apache.hadoop.hive.metastore.MetaStoreUtils.updatePartitionStatsFast

背景在使用impala往表的新分区写数据时报错NoSuchMethodError: org.apache.hadoop.hive.metastore.MetaStoreUtils.updatePartitionStatsFast(Lorg/apache/hadoop/hive/metastore/api/Partition;Lorg/apache/hadoop/hive/metastore/W...
原创
1311阅读
0评论
1点赞
发布博客于 2 年前

Apache Kudu 的事务概念

Kudu 旨在最终完全获得 ACID ,但是多 tablet 事务尚未实施。最终 Kudu 将支持完全严格的可序列化语义。事实上,它已经在有限的范围内,但并不是所有的角落都被覆盖,因为这仍然是一个正在进行的工作。Kudu 目前允许以下操作:Write operations是在具有多个副本的单个 tablet 中,插入、更新或删除的 sets of rows ( 行集 )。写操作没有单独的 “...
原创
1559阅读
0评论
0点赞
发布博客于 2 年前

Impala create file /tmp/impala-scratch 报错

背景使用impala对大数据量进行处理时出现如下错误Create file /tmp/impala-scratch/XXX failed with errno=2 description=Error(2): No such file or directory原因查资料发现impala在大数据量处理时会用到磁盘保存中间数据By default, intermediate files us...
原创
647阅读
0评论
0点赞
发布博客于 2 年前

python连接impala

网上的教程一般都是使用impyla,这里就不详细描述。因为项目本身先是用的HIVE作业,使用的是pyhive。安装impyla时,有些依赖包与之前的冲突,导致impala可以连接,但是hive连接不上,所以只能想别的办法。经过尝试后,发现pyhive可以直接连接impala,LZ的impala是开启了LDAP认证的:from pyhive import hiveconn = hive.Con...
原创
3956阅读
0评论
1点赞
发布博客于 2 年前

Kudu模式设计

Kudu 表具有与传统 RDBMS 中的表类似的结构化数据模型。模式设计对于实现 Kudu 的最佳性能和运行稳定性至关重要。每个工作负载都是独一无二的,没有一个最合适每个表的单一模式设计。在高层次上,创建 Kudu 表有三个问题:列设计,主键设计和分区设计。其中只有分区对于熟悉传统的非分布式关系数据库的人来说将是一个新的概念。The Perfect Schema (完美的模式)完美的模式将完成...
原创
773阅读
0评论
1点赞
发布博客于 2 年前

KUDU和IMPALA的结合使用

Kudu 与 Apache Impala紧密集成,允许使用 Impala 的 SQL 语法从 Kudu tablets 插入,查询,更新和删除数据。此外,还可以用 JDBC 或 ODBC, Impala 作为代理连接 Kudu 进行数据操作。配置Kudu 内不需要进行配置更改,从而可以访问 Impala 。建议配置 Impala 与 Kudu Master servers 的位置:在 Imp...
原创
6411阅读
0评论
3点赞
发布博客于 3 年前

KUDU架构原理

基本概念Tabletable 是数据存储在 Kudu 的位置,具有 schema 和全局有序的 primary key。table 被分成称为 tablets 的 segments。Tablet一个 tablet 是一张 table 连续的 segment,与其它数据存储引擎或关系型数据库中的 partition(分区)相似。给定的 tablet 冗余到多个 tablet 服务器上,并且在...
原创
1880阅读
0评论
1点赞
发布博客于 3 年前

Impala查询不到hive数据

背景hive写入的数据,hive是可以查到数据,impala进行过元数据的刷新,然后查询此表,查询成功,返回结果是空表。原因写入数据的SQL里使用了UNION,导致HDFS目录结构多了一层,本来是分区底下直接是数据,使用了UNION后,有几个UNION,分区底下会出现几个文件夹,依次为1,2,3…,文件夹里面才是数据。导致Impala无法访问到具体数据。也许Imapla新版本解决了这个问题,...
原创
3291阅读
0评论
1点赞
发布博客于 3 年前

网易时序大数据应用实践

网易时序大数据应用实践~
pdf
发布资源于 3 年前

SSH可用,SFTP登录不上,提示connection closed

1、可能是密码过期,重置密码即可2、初次使用的话,查看sftp-server(/usr/libexec/openssh/sftp-server)是否有权限,没有权限则加权限可以使用chmod 7553、vi /etc/passwd把要登录用户最后的/bin/false改为/bin/bash...
原创
8555阅读
0评论
1点赞
发布博客于 3 年前

Impala实时刷新同步Hive元数据

背景通过HIVE对数据进行操作或更新元数据,Impala是无感知的,官方提供了两种手动刷新的方式,分别是INVALIDATE METADATA和REFRESH操作。但是使用起来相当不方便,针对此问题,想到两种简单的应对方案。方案一如果ETL处理都是通过脚本执行,那么可以考虑在脚本中添加手动刷新的命令,即某个表的数据已通过脚本处理完成,脚本的最后调用impala刷新一下这个表。这种方式无法处理...
原创
7720阅读
4评论
3点赞
发布博客于 3 年前

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...
原创
3304阅读
0评论
1点赞
发布博客于 3 年前

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权限不正确...
原创
6764阅读
0评论
2点赞
发布博客于 3 年前

Impala权限控制

开头Impala因为是Cloudera出的,所以官方文档说明里只写了使用自家的Sentry方式进行权限管理,而对于Hortonworks家的Ranger只字未提,网上都是说可以通过特殊方案集成到Ranger上,但是没有找到具体方案,在此也提不了了。首先,Sentry 的使用有两种方式,一是基于文件的存储方式(SimpleFileProviderBackend),一是基于数据库的存储方式(Sim...
原创
2869阅读
0评论
1点赞
发布博客于 3 年前

Impala权限控制

开头Impala因为是Cloudera出的,所以官方文档说明里只写了使用自家的Sentry方式进行权限管理,而对于Hortonworks家的Ranger只字未提,网上都是说可以通过特殊方案集成到Ranger上,但是没有找到具体方案,在此也提不了了。首先,Sentry 的使用有两种方式,一是基于文件的存储方式(SimpleFileProviderBackend),一是基于数据库的存储方式(Sim...
原创
2869阅读
0评论
1点赞
发布博客于 3 年前

Sentry与Ranger

Sentry:RBAC(role-based acess control)基于角色的管理,比如Cloudera用的是Sentry,华为的FusionInsight也采用类似的机制。即:通过创建角色,将每个组件的权限授予给此角色。然后在用户中添加此角色,即用户具备此角色访问组件的权限(组也类似)Ranger: PBAC(policy-based acess control)基于策略的管理,比如H...
原创
707阅读
0评论
1点赞
发布博客于 3 年前

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...
原创
2058阅读
0评论
4点赞
发布博客于 3 年前

Impala的数据刷新

Impala采用了比较奇葩的多个impalad同时提供服务的方式,并且它会由catalogd缓存全部元数据,再通过statestored完成每一次的元数据的更新到impalad节点上,Impala集群会缓存全部的元数据,这种缓存机制就导致通过其他手段更新元数据或者数据对于Impala是无感知的,例如通过hive建表,直接拷贝新的数据到HDFS上等,Impala提供了两种机制来实现元数据的更新,分别...
原创
3723阅读
0评论
1点赞
发布博客于 3 年前

推荐系统——用户画像

写在最开始,本人不是专业做推荐系统的,本文只是整理最近培训的所见所得。学生生涯的时候略微了解些推荐系统的皮毛,工作后暂时还没做这方面的工作,但之后的工作规划会涉及到相关领域知识,另加上本人对算法类培训颇感兴趣,于是参加了近期的培训,自此整理消化下相关知识,聊以慰藉。目前推荐系统的用户画像都是对用户的向量化表示,推荐系统的用户画像是给计算机用的,而不是给人看的。用户画像不是推荐系统的目的,而是在构...
原创
7285阅读
1评论
12点赞
发布博客于 3 年前

HIVE视图VIEW

特点1、只有逻辑视图,没有物化视图;2、视图只能查询,不能Load/Insert/Update/Delete数据;3、视图在创建时候,只是保存了一份元数据,当查询视图的时候,才开始执行视图对应的那些子查询;优点降低查询复杂度当查询变得长或复杂的时候,通过使用视图将这个查询语句分割成多个小的、更可控的片段来降低复杂度。同在编程语言中使用函数或者软件设计中使用分层设计的思想是一致的。...
原创
2816阅读
0评论
0点赞
发布博客于 3 年前

人脸表情识别FER2013数据集

KAGGLE 人脸表情识别FER2013数据集
zip
发布资源于 3 年前

Facial-Expression-Recognition模型文件

github上WuJie1010的Facial-Expression-Recognition模型文件
t7
发布资源于 3 年前

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所指的目录下;当然我也是先进了看了这路径下...
原创
28585阅读
4评论
7点赞
发布博客于 3 年前

DbVisualizer连接Hbase(Phoenix驱动)

最近想通过图形界面访问操作hbase,之前hive等都是用的DbVisualizer,所以也想配置一下。首先说明,是利用Phoenix连接hbase,本人的Phoenix和Hbase是已安装并配置好的,所以安装及配置过程在此省略。主要总结下搜索的资料及碰到问题的解决。驱动JAR包1、phoenix官方提供了驱动jar包下载,需根据Phoenix版本和hbase版本选择相应的版本,驱动只需添加p...
原创
2212阅读
3评论
1点赞
发布博客于 3 年前

TEZ深入理解

简介Tez是Apache最新的支持DAG作业的开源计算框架,它可以将多个有依赖的作业转换为一个作业从而大幅提升DAG作业的性能。Tez并不直接面向最终用户——事实上它允许开发者为最终用户构建性能更快、扩展性更好的应用程序。Hadoop传统上是一个大量数据批处理平台。但是,有很多用例需要近乎实时的查询处理性能。还有一些工作则不太适合MapReduce,例如机器学习。Tez的目的就是帮助Hadoop...
原创
3493阅读
0评论
0点赞
发布博客于 3 年前

HDFS Live Nodes缺少节点问题处理

背景最近因为集群中的一个节点挂掉了(Linux系统挂了),所以从另外一个节点把所有文件重新拷贝了一份到这个节点上。然后常规启动集群后,发现所有数据节点都已正常启动,但通过web页面查看http://master:50070,在Live Node里缺少了这台之前挂掉的节点,因为是整体拷贝,所以包括HDFS的元数据信息也是一模一样的,造成冲突。原因分析1、找到配置文件hdfs-site.xml...
原创
739阅读
0评论
1点赞
发布博客于 3 年前

HDFS空间优化

1 HDFS存档/归档存档是用来备份的时候标识用的,说白就是做个标记,表示这个文档在上次备份之后有没有被修改过,比如当月1号,你给全盘做了一次备份,那么所有的文档的存档属性都会被清除,表示备份过了。此后,如果你修改了某个文件,那么这个文件的存档属性就会被加上。当几天后,你再做“增量”备份时候,系统就会只备份那些具有“存档”属性的文件。每个文件均按块方式存储,每个块的元数据存储在nameno...
原创
835阅读
0评论
1点赞
发布博客于 3 年前

HDFS深入理解

本文参考《Hadoop权威指南》与网上相关资料整理完成1 HDFS简介HDFS(Hadoop Distributed File System)是Hadoop项目的核心子项目,是分布式计算中数据存储管理的基础,是基于流数据模式访问和处理超大文件的需求而开发的,可以运行于廉价的商用服务器上。它所具有的高容错、高可靠性、高可扩展性、高获得性、高吞吐率等特征为海量数据提供了不怕故障的存储,为超...
原创
549阅读
0评论
1点赞
发布博客于 3 年前

pytorch基本知识—主要轮子简介

深度学习框架背后的设计核心基本都是张量和计算图,PyTorch也不例外,以下会依次介绍下这些给力的轮子~~TensorTensor, 中文名张量,Theano、 TensorFlow、 PyTorch和MXNet中重要的数据结构。张量这一术语起源于力学,是一个非常重要的数学工具,有兴趣的可以自行了解。从工程角 度讲,可简单地认为它就是一个数组,且支持有效的科学计算。它可以是一个数(标量)...
原创
1030阅读
0评论
1点赞
发布博客于 3 年前

常见深度学习框架比较

常见的深度学习框架有 TensorFlow 、Caffe、Theano、Keras、PyTorch、MXNet等,如下图所示。这些深度学习框架被应用于计算机视觉、语音识别、自然语言处理与生物信息学等领域,并获取了极好的效果。下面将主要介绍当前深度学习领域影响力比较大的几个框架,内容出自书籍《深度学习框架PyTorch:入门与实践》。 常见的深度学习框架TheanoTheano最初...
原创
21377阅读
0评论
14点赞
发布博客于 3 年前

并发、并行与分布式编程的概念区分

并发与并行并发是两个任务可以在重叠的时间段内启动,运行和完成;并行是任务在同一时间运行,例如,在多核处理器上。并发是独立执行过程的组合,而并行是同时执行(可能相关的)计算。并发是一次处理很多事情,并行是同时做很多事情。应用程序可以是并发的,但不是并行的,这意味着它可以同时处理多个任务,但是没有两个任务在同一时刻执行。 应用程序可以是并行的,但不是并发的,这意味着它同时处理多核CP...
原创
2278阅读
0评论
2点赞
发布博客于 3 年前

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')...
原创
234阅读
0评论
1点赞
发布博客于 3 年前

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...
原创
3318阅读
0评论
1点赞
发布博客于 3 年前

DB2开发与性能优化

范式化原则物理表:优先考虑降低数据冗余度、消除二义性,在合理代价的前提下,以第三范式为目标进行表设计。兼顾访问性能、可扩展性等因素,可以在适当范围内进行必要的降范式处理,但必须有配套机制保证数据一致性。 临时表:优先考虑程序访问性能和便捷性,通常不受范式化制约。表空间使用和分配原则用户数据与系统数据分离 永久数据与临时数据分离 表数据与索引数据分离 大对象数据独立字段非空约束物理表:尽量对所
原创
1130阅读
0评论
1点赞
发布博客于 4 年前

BMC Control-M Client安装问题及解决方法

安装问题本人安装的是BMC Control-M Client V9版本,已安装.net 4.5.2,还是提示缺少.net 4.5.2。 原因Control-M客户端安装的时候调用批处理命令”REG QUERY”去检查.Net的版本。如果注册表中.Net的路径损坏或者包含空格或引号就导致检查失败。但是本人检查过.Net路径键值正常,批处理命令也考虑到了空格和引号的问题,但是还是不能通过。解决方法具体
原创
3672阅读
0评论
2点赞
发布博客于 4 年前

DB2 编目操作

在“命令窗口”语句前要加DB2。命令--增加结点编目(db2) catalog tcpip node 结点名 remote 结点ip server 50000--查看结点编目(db2) list node directory--删除结点编目(db2) uncatalog node 结点别名--增加数据库编目(db2) catalog db 数据库名 as 数据库别名 at node 结点名-
原创
659阅读
0评论
1点赞
发布博客于 4 年前

Windows下更改Jupyter Notebook默认启动目录

在网上搜了半天找到了很多方法,但是都没有用。特此记录下自己动手修改成功的方法,以便于来者。首先说明的是,我是在Windows上安装的Anaconda3,里面附带的Jupyter Notebook。具体步骤首先找到Jupyter Notebook的快捷方式,右键如下图。“目标”中最后一个参数默认是%USERPROFILE%,就是默认启动目录。直接改为自定义路径就完成了,如图。
原创
5329阅读
9评论
18点赞
发布博客于 4 年前

DB2 根据表名查找存储过程

–根据表名查找存储过程(不加模式名) SELECT PROCSCHEMA, –模式名 PROCNAME –存储过程名 FROM SYSCAT.PROCEDURES WHERE SPECIFICNAME IN (SELECT DNAME FROM SYSIBM.SYSDEPENDENCIES
原创
2898阅读
0评论
1点赞
发布博客于 4 年前

SQL学习笔记

工作了,分到了数据仓库组,主要写存储过程,写SQL了,数据库为DB2。之前一直写C++,搞图像算法,虽然上学的时候有数据库这门课,但是当时也就是大约了解了语法,操作了下SQL Server,所以要从头学起。SQL入门简单,但是要写好也不是件容易的事。这里首先记录一下我的入门学习过程。教程与实践其实学习SQL语法不需要专门买书,因为基本语法就那么几句,网上搜一下教程就好。这里给出我使用的
原创
210阅读
0评论
1点赞
发布博客于 4 年前

颜色迁移— —重新说说这个

1、绪论很久很久以前写过一些关于颜色迁移的文章,大多都是关于学习的笔记与实验的总结,因为当时本科的毕业设计题目是颜色迁移,所以在做完后把东西整理总结了一下。这半年都没来更新过博客,主要忙于项目和研究生毕设,从写完那些文章后,偶尔(毕竟是冷门研究课题~)还是会有人跟我探讨一下颜色迁移的事情,现在答辩完了,也快毕业了,觉得又必要把这个东西再整理总结一下。计划在入职前6、7两个月把后来的一些研究与见解分享
原创
7070阅读
7评论
3点赞
发布博客于 4 年前

颜色迁移程序

参考图像可以选择1幅,也可以选择多幅,不支持灰度图像彩色化,对某些互补色处理不好。
zip
发布资源于 4 年前

基于Retinex理论的图像增强

概念其实关于Retinex理论的研究很多很多,这里只是简单概述一下,本文更多的是在遥感影像上的处理效果讨论。根据Retinex理论,人眼感知物体的亮度取决于环境的照明和物体表面对照射光的反射,其数学表达式为:I(x,y) = L(x,y) * R(x,y)                          其中 I(x,y)代表被观察或照相机接收到的图像信号;L(x,y)代表环境光的照射分量 ;
原创
4604阅读
0评论
2点赞
发布博客于 5 年前

图像特征— —SURF特征

SURF特征是对SIFT特征的改进,其基本结构、步骤与SIFT相近,但具体实现的过程有所不同。SURF算法的优点是速度远快于SIFT且稳定性好。关于SIFT特征和Haar特征之前的文章有讲,这里主要就不赘述,请自行去查看~SURF算法主要步骤: 1. Hessian矩阵构建尺度空间构建特征点精确定位方向确定特征点描述SURF算法原理Hessian矩阵构建SIFT算法建立一幅图像的金字
原创
5977阅读
0评论
1点赞
发布博客于 5 年前

算法— —二叉树遍历

概念二叉树遍历是二叉树的最基本的操作,其实现方式主要有: 1. 递归遍历 2. 非递归遍历 3. Morris遍历(自己度娘去,这里不讲)
原创
2108阅读
2评论
1点赞
发布博客于 5 年前

图像特征— —Gabor特征

Gabor变换属于加窗傅立叶变换,Gabor函数可以在频域不同尺度、不同方向上提取相关的特征。Gabor小波与人类视觉系统中简单细胞的视觉刺激响应非常相似。它在提取目标的局部空间和频率域信息方面具有良好的特性。虽然Gabor小波本身并不能构成正交基,但在特定参数下可构成紧框架。Gabor小波对于图像的边缘敏感,能够提供良好的方向选择和尺度选择特性,而且对于光照变化不敏感,能够提供对光照变化良好的
原创
16252阅读
5评论
5点赞
发布博客于 5 年前

图像特征— —SIFT特征

尺度不变特征转换(Scale-invariant feature transform或SIFT)是一种计算机视觉算法,用来侦测与描述影像中的局部性特征,它在空间尺度中寻找极值点,并提取出其位置、尺度、旋转不变量。其应用范围包含物体辨识、机器人地图感知与导航、影像缝合、3D模型建立、手势辨识、影像追踪和动作比对。局部影像特征的描述与侦测可以帮助辨识物体,SIFT 特征是基于物体上的一些局部外观的兴
原创
17032阅读
3评论
6点赞
发布博客于 5 年前

图像特征— —Haar特征

概念Haar特征分为:边缘特征、线性特征、中心特征和对角线特征,组合成特征模板。特征模板内有白色和黑色两种矩形,并定义该模板的特征值为白色矩形像素和减去黑色矩形像素和。Haar特征值反映了图像的灰度变化情况。例如:脸部的一些特征能由矩形特征简单的描述,如:眼睛要比脸颊颜色要深,鼻梁两侧比鼻梁颜色要深,嘴巴比周围颜色要深等。但矩形特征只对一些简单的图形结构,如边缘、线段较敏感,所以只能描述特定走向(水
原创
2168阅读
0评论
2点赞
发布博客于 5 年前

图像特征— —HOG特征

概念计算机视觉和图像处理中用来进行物体检测的特征描述子。它通过计算和统计图像局部区域的梯度方向直方图来构成特征。HOG特征结合SVM分类器已经被广泛应用于图像识别中,尤其在行人检测中获得了极大的成功。(1)主要思想:在一副图像中,局部目标的表象和形状(appearance and shape)能够被梯
原创
2630阅读
0评论
1点赞
发布博客于 5 年前

图像特征— —LBP特征

LBP(Local Binary Pattern,局部二值模式)是一种用来描述图像局部纹理特征的算子,具有旋转不变性和灰度不变性等显著的优点。一般用于纹理特征提取,提取的特征是图像的局部的纹理特征。LBP特征原始的LBP算子定义为在3*3的窗口内,以窗口中心像素为阈值,将相邻的8个像素的灰度值与其进行比较,若周围像素值大于中心像素值,则该像素点的位置被标记为1,否则为0。这样,3*3邻域内的8个
原创
1876阅读
0评论
1点赞
发布博客于 5 年前

数据结构复习笔记— —队列

基本概念队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。顺序队列建立顺序队列结构必须为其静态分配或动态申请一片连续的存储空间,并设置两个指针进行管理。一个是队头指针front,它指向队头元素;另一个是队尾指针rear,它指向下一个入队元素
原创
660阅读
0评论
1点赞
发布博客于 5 年前

数据结构复习笔记— —栈

栈(stack),它是一种运算受限的线性表,先进后出。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。有进栈、出栈、栈满、栈空等几种状态。栈可以用来在函数调用和递归时会被用到。类似于有左右括号的这类操作也可以用栈。尾递归、常数递归可以不用栈。栈相当于具有记忆功能。栈保存了一个函数调用时所需要的维护信息,这常常称之为堆栈帧或者活动记录。主要记录: 1函数的返回
原创
482阅读
0评论
1点赞
发布博客于 5 年前

算法— —排序

先上图 1 插入排序(InsertSort)插入排序通过把序列中的值插入一个已经排序好的序列中,直到该序列的结束。插入排序是对冒泡排序的改进。平均情况下,冒泡排序的比较次数近似为插入排序的2倍,移动次数与插入排序相同,可以说插入排序比冒泡排序快2倍。 插入排序一般不用在数据大于1000的场合,或者重复排序超过200数据项的序列。2 Shell排序(ShellSort)Shell排序通过将数据分成
原创
346阅读
0评论
1点赞
发布博客于 5 年前

数据结构复习笔记— —堆

堆的基本性质堆也可以说是一个完全二叉树,就是除了最底层的,其它层是满的,既然我们可以用完全二叉树来表示一个堆,那么我们这里就采用数组结构的二叉树来阐述堆的性质。 假设在这里我们用数组A表示堆,A[i]表示堆里面的第i个元素,于是我们通过二叉树的性质可知:Parent(i) = i/2 LeftChild(i) = 2*i RightChild(i) = 2*i+1 就如下图表现所示: 堆的
原创
457阅读
0评论
1点赞
发布博客于 5 年前

GEEK编程练习— —4的次方数

题目快速判断输入的int型整数是否是4的N次幂。输入8161564输出NOYESNOYES分析可以直接使用判断3的次方数的对数换底的方法。也可以简接参考2的次方数的方法。这里给出参考2的次方数的方法。 1、n & (n - 1)可以用来判断一个数是否为2的次方数,即二进制下,只有最高位是1,由于2的次方数,不一定是4的次方数,比如8,还需要其他的限定条件,4的次方数的最高位的1都是计数
原创
988阅读
0评论
1点赞
发布博客于 5 年前

GEEK编程练习— —3的次方数

题目快速判断输入的int型整数是否是3的N次幂。输入2724310输出YESYESNO分析利用对数的换底公式来做,换底公式为loga(b) = logc(b) / logc(a)。如果n是3的N次幂,则log3(n)一定是整数,利用换底公式可以写为log3(n) = log(n) / log(3)。问题变为判断log(n) / log(3)是否为整数。代码#include <iostream
原创
502阅读
0评论
1点赞
发布博客于 5 年前

GEEK编程练习— —2的次方数

题目快速判断输入的int型整数是否是2的N次幂。输入8564输出YESNOYES分析如果一个数是2的次方数,则二进数最高位为1,其它都为0。减1后,降位,其余为0的位变为1,把两数相与会得0。代码#include <iostream>using namespace std;int main(){ int x; cin >> x; if ((x > 0) && !(x
原创
660阅读
0评论
1点赞
发布博客于 5 年前

GEEK编程练习— —回文整数

题目判断输入的整数是否为回文整数输入32323-123输出YESNOInvalid Number
原创
633阅读
0评论
1点赞
发布博客于 5 年前

PROJ4编译与使用(Windows平台)

最近一直忙于做项目,每天也在码代码,所以就没有每天一发编程联系,目前项目大的框架已写好,在这里总结一下项目中的一点东西。做的是遥感影像的项目,要用的坐标的转换,我不是遥感专业的,所以对于一些概念的理解不那么准确。因为大框架用的是GDAL库,查找资料后,确定了其中的坐标转换,即地理坐标与投影坐标的转换,要用的proj.4库。Proj.4库是开源GIS最著名的地图投影库,著名的开源图像库gdal中的投影
原创
8752阅读
8评论
1点赞
发布博客于 5 年前

GEEK编程练习— —有效括号问题

题目给定一个字符串只包含(,),{,},[和],判断输入是否合法。括号必须按照正确顺序排列,如()和()[]是合法的,而(]和([)]不合法。输入()[]输出True输入([)]输出False分析利用栈stack的特性。代码#include <iostream>#include <string>#include <stack>using namespace std;int main(){
原创
1848阅读
0评论
1点赞
发布博客于 5 年前

GEEK编程练习— —反转整数

题目把输入的Integer类型数据进行翻转输出。
原创
1423阅读
0评论
1点赞
发布博客于 5 年前

GEEK编程练习— —回文构词法

题目给定一组字符串,返回根据回文构词法,同属于一组的字符串,所有输入都是小写。 回文构词法是指打乱字母顺序从而得到的新的单词,比如”dormitory“打乱字母顺序可以变成”dirty room”,”tea”可以变成”eat”。其中的字母种类和数目一致,只是字母排列顺序不同,若按字母顺序排序后相等,则属于同一组。输入teabageatdog输出tea eat分析可以使用unordered_m
原创
2459阅读
0评论
1点赞
发布博客于 5 年前

GEEK编程练习— —计数问题

题目假定以下是一组有规律的整数序列 1,11,21,1211,111221,…… 起始是”一个1“,那么接下来的数就是11 11可以被计为”两个1“,接下来的数就是21 然后21被计为”一个2一个1“,接下来的数就是1211 1211被计为”一个1一个2两个1“接下来的数就是111221 给定一个正整数n,输出序列第n个元素。输入4输出1211分析题目不难,但是挺有趣的,直接模拟这个过程
原创
1946阅读
0评论
2点赞
发布博客于 5 年前

GEEK编程练习— —罗马数字问题

题目输入的是一个整数或罗马数字,若为整数,输出对应的罗马数字;若为罗马数字,输出对应的整数。数值范围从1到3999。输入1100输出MC输入MC输出1100分析因为输入只有两种情况,判断一下首个字符为整数还是罗马数字,分两种情况进行转换。代码#include <iostream>#include <string>#include <cctype>#include <cstdlib>using
原创
2220阅读
0评论
1点赞
发布博客于 5 年前